package org.xtext.example.mydsl.parser.antlr.internal; 

import java.io.InputStream;
import org.eclipse.xtext.*;
import org.eclipse.xtext.parser.*;
import org.eclipse.xtext.parser.impl.*;
import org.eclipse.xtext.parsetree.*;
import org.eclipse.emf.ecore.util.EcoreUtil;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.xtext.parser.antlr.AbstractInternalAntlrParser;
import org.eclipse.xtext.parser.antlr.XtextTokenStream;
import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
import org.eclipse.xtext.parser.antlr.AntlrDatatypeRuleToken;
import org.eclipse.xtext.conversion.ValueConverterException;
import org.xtext.example.mydsl.services.MyDslGrammarAccess;



import org.antlr.runtime.*;
import java.util.Stack;
import java.util.List;
import java.util.ArrayList;

@SuppressWarnings("all")
public class InternalMyDslParser extends AbstractInternalAntlrParser {
    public static final String[] tokenNames = new String[] {
        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_ID", "RULE_INT", "RULE_STRING", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'config'", "'.'", "':'", "'*'", "'>'", "'<'", "'range'", "'msg'", "'enabledPort'", "'enabledIP'", "'enabledRange'", "'enabledHigh'", "'enabledLess'", "'foward'", "'log'", "'denegate'", "'noAcept'", "'rangeNoAcept'", "'onlyAccept'", "'true'", "'false'"
    };
    public static final int RULE_ID=4;
    public static final int RULE_STRING=6;
    public static final int RULE_ANY_OTHER=10;
    public static final int RULE_INT=5;
    public static final int RULE_WS=9;
    public static final int RULE_SL_COMMENT=8;
    public static final int EOF=-1;
    public static final int RULE_ML_COMMENT=7;

        public InternalMyDslParser(TokenStream input) {
            super(input);
        }
        

    public String[] getTokenNames() { return tokenNames; }
    public String getGrammarFileName() { return "../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g"; }



     	private MyDslGrammarAccess grammarAccess;
     	
        public InternalMyDslParser(TokenStream input, IAstFactory factory, MyDslGrammarAccess grammarAccess) {
            this(input);
            this.factory = factory;
            registerRules(grammarAccess.getGrammar());
            this.grammarAccess = grammarAccess;
        }
        
        @Override
        protected InputStream getTokenFile() {
        	ClassLoader classLoader = getClass().getClassLoader();
        	return classLoader.getResourceAsStream("org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.tokens");
        }
        
        @Override
        protected String getFirstRuleName() {
        	return "Model";	
       	}
       	
       	@Override
       	protected MyDslGrammarAccess getGrammarAccess() {
       		return grammarAccess;
       	}



    // $ANTLR start entryRuleModel
    // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:77:1: entryRuleModel returns [EObject current=null] : iv_ruleModel= ruleModel EOF ;
    public final EObject entryRuleModel() throws RecognitionException {
        EObject current = null;

        EObject iv_ruleModel = null;


        try {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:78:2: (iv_ruleModel= ruleModel EOF )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:79:2: iv_ruleModel= ruleModel EOF
            {
             currentNode = createCompositeNode(grammarAccess.getModelRule(), currentNode); 
            pushFollow(FOLLOW_ruleModel_in_entryRuleModel75);
            iv_ruleModel=ruleModel();
            _fsp--;

             current =iv_ruleModel; 
            match(input,EOF,FOLLOW_EOF_in_entryRuleModel85); 

            }

        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end entryRuleModel


    // $ANTLR start ruleModel
    // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:86:1: ruleModel returns [EObject current=null] : ( (lv_configurations_0_0= ruleConfiguration ) )* ;
    public final EObject ruleModel() throws RecognitionException {
        EObject current = null;

        EObject lv_configurations_0_0 = null;


         EObject temp=null; setCurrentLookahead(); resetLookahead(); 
            
        try {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:91:6: ( ( (lv_configurations_0_0= ruleConfiguration ) )* )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:92:1: ( (lv_configurations_0_0= ruleConfiguration ) )*
            {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:92:1: ( (lv_configurations_0_0= ruleConfiguration ) )*
            loop1:
            do {
                int alt1=2;
                int LA1_0 = input.LA(1);

                if ( (LA1_0==11) ) {
                    alt1=1;
                }


                switch (alt1) {
            	case 1 :
            	    // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:93:1: (lv_configurations_0_0= ruleConfiguration )
            	    {
            	    // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:93:1: (lv_configurations_0_0= ruleConfiguration )
            	    // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:94:3: lv_configurations_0_0= ruleConfiguration
            	    {
            	     
            	    	        currentNode=createCompositeNode(grammarAccess.getModelAccess().getConfigurationsConfigurationParserRuleCall_0(), currentNode); 
            	    	    
            	    pushFollow(FOLLOW_ruleConfiguration_in_ruleModel130);
            	    lv_configurations_0_0=ruleConfiguration();
            	    _fsp--;


            	    	        if (current==null) {
            	    	            current = factory.create(grammarAccess.getModelRule().getType().getClassifier());
            	    	            associateNodeWithAstElement(currentNode.getParent(), current);
            	    	        }
            	    	        try {
            	    	       		add(
            	    	       			current, 
            	    	       			"configurations",
            	    	        		lv_configurations_0_0, 
            	    	        		"Configuration", 
            	    	        		currentNode);
            	    	        } catch (ValueConverterException vce) {
            	    				handleValueConverterException(vce);
            	    	        }
            	    	        currentNode = currentNode.getParent();
            	    	    

            	    }


            	    }
            	    break;

            	default :
            	    break loop1;
                }
            } while (true);


            }

             resetLookahead(); 
                	lastConsumedNode = currentNode;
                
        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end ruleModel


    // $ANTLR start entryRuleConfiguration
    // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:124:1: entryRuleConfiguration returns [EObject current=null] : iv_ruleConfiguration= ruleConfiguration EOF ;
    public final EObject entryRuleConfiguration() throws RecognitionException {
        EObject current = null;

        EObject iv_ruleConfiguration = null;


        try {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:125:2: (iv_ruleConfiguration= ruleConfiguration EOF )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:126:2: iv_ruleConfiguration= ruleConfiguration EOF
            {
             currentNode = createCompositeNode(grammarAccess.getConfigurationRule(), currentNode); 
            pushFollow(FOLLOW_ruleConfiguration_in_entryRuleConfiguration166);
            iv_ruleConfiguration=ruleConfiguration();
            _fsp--;

             current =iv_ruleConfiguration; 
            match(input,EOF,FOLLOW_EOF_in_entryRuleConfiguration176); 

            }

        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end entryRuleConfiguration


    // $ANTLR start ruleConfiguration
    // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:133:1: ruleConfiguration returns [EObject current=null] : ( () 'config' ( (lv_name_2_0= RULE_ID ) ) ( (lv_consultas_3_0= ruleRegla ) )* ) ;
    public final EObject ruleConfiguration() throws RecognitionException {
        EObject current = null;

        Token lv_name_2_0=null;
        EObject lv_consultas_3_0 = null;


         EObject temp=null; setCurrentLookahead(); resetLookahead(); 
            
        try {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:138:6: ( ( () 'config' ( (lv_name_2_0= RULE_ID ) ) ( (lv_consultas_3_0= ruleRegla ) )* ) )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:139:1: ( () 'config' ( (lv_name_2_0= RULE_ID ) ) ( (lv_consultas_3_0= ruleRegla ) )* )
            {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:139:1: ( () 'config' ( (lv_name_2_0= RULE_ID ) ) ( (lv_consultas_3_0= ruleRegla ) )* )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:139:2: () 'config' ( (lv_name_2_0= RULE_ID ) ) ( (lv_consultas_3_0= ruleRegla ) )*
            {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:139:2: ()
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:140:5: 
            {
             
                    temp=factory.create(grammarAccess.getConfigurationAccess().getConfigurationAction_0().getType().getClassifier());
                    current = temp; 
                    temp = null;
                    CompositeNode newNode = createCompositeNode(grammarAccess.getConfigurationAccess().getConfigurationAction_0(), currentNode.getParent());
                newNode.getChildren().add(currentNode);
                moveLookaheadInfo(currentNode, newNode);
                currentNode = newNode; 
                    associateNodeWithAstElement(currentNode, current); 
                

            }

            match(input,11,FOLLOW_11_in_ruleConfiguration220); 

                    createLeafNode(grammarAccess.getConfigurationAccess().getConfigKeyword_1(), null); 
                
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:154:1: ( (lv_name_2_0= RULE_ID ) )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:155:1: (lv_name_2_0= RULE_ID )
            {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:155:1: (lv_name_2_0= RULE_ID )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:156:3: lv_name_2_0= RULE_ID
            {
            lv_name_2_0=(Token)input.LT(1);
            match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleConfiguration237); 

            			createLeafNode(grammarAccess.getConfigurationAccess().getNameIDTerminalRuleCall_2_0(), "name"); 
            		

            	        if (current==null) {
            	            current = factory.create(grammarAccess.getConfigurationRule().getType().getClassifier());
            	            associateNodeWithAstElement(currentNode, current);
            	        }
            	        try {
            	       		set(
            	       			current, 
            	       			"name",
            	        		lv_name_2_0, 
            	        		"ID", 
            	        		lastConsumedNode);
            	        } catch (ValueConverterException vce) {
            				handleValueConverterException(vce);
            	        }
            	    

            }


            }

            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:178:2: ( (lv_consultas_3_0= ruleRegla ) )*
            loop2:
            do {
                int alt2=2;
                int LA2_0 = input.LA(1);

                if ( (LA2_0==RULE_INT||(LA2_0>=19 && LA2_0<=26)||(LA2_0>=28 && LA2_0<=29)) ) {
                    alt2=1;
                }


                switch (alt2) {
            	case 1 :
            	    // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:179:1: (lv_consultas_3_0= ruleRegla )
            	    {
            	    // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:179:1: (lv_consultas_3_0= ruleRegla )
            	    // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:180:3: lv_consultas_3_0= ruleRegla
            	    {
            	     
            	    	        currentNode=createCompositeNode(grammarAccess.getConfigurationAccess().getConsultasReglaParserRuleCall_3_0(), currentNode); 
            	    	    
            	    pushFollow(FOLLOW_ruleRegla_in_ruleConfiguration263);
            	    lv_consultas_3_0=ruleRegla();
            	    _fsp--;


            	    	        if (current==null) {
            	    	            current = factory.create(grammarAccess.getConfigurationRule().getType().getClassifier());
            	    	            associateNodeWithAstElement(currentNode.getParent(), current);
            	    	        }
            	    	        try {
            	    	       		add(
            	    	       			current, 
            	    	       			"consultas",
            	    	        		lv_consultas_3_0, 
            	    	        		"Regla", 
            	    	        		currentNode);
            	    	        } catch (ValueConverterException vce) {
            	    				handleValueConverterException(vce);
            	    	        }
            	    	        currentNode = currentNode.getParent();
            	    	    

            	    }


            	    }
            	    break;

            	default :
            	    break loop2;
                }
            } while (true);


            }


            }

             resetLookahead(); 
                	lastConsumedNode = currentNode;
                
        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end ruleConfiguration


    // $ANTLR start entryRuleDestino
    // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:210:1: entryRuleDestino returns [EObject current=null] : iv_ruleDestino= ruleDestino EOF ;
    public final EObject entryRuleDestino() throws RecognitionException {
        EObject current = null;

        EObject iv_ruleDestino = null;


        try {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:211:2: (iv_ruleDestino= ruleDestino EOF )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:212:2: iv_ruleDestino= ruleDestino EOF
            {
             currentNode = createCompositeNode(grammarAccess.getDestinoRule(), currentNode); 
            pushFollow(FOLLOW_ruleDestino_in_entryRuleDestino300);
            iv_ruleDestino=ruleDestino();
            _fsp--;

             current =iv_ruleDestino; 
            match(input,EOF,FOLLOW_EOF_in_entryRuleDestino310); 

            }

        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end entryRuleDestino


    // $ANTLR start ruleDestino
    // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:219:1: ruleDestino returns [EObject current=null] : (this_IP_0= ruleIP | this_Puerto_1= rulePuerto ) ;
    public final EObject ruleDestino() throws RecognitionException {
        EObject current = null;

        EObject this_IP_0 = null;

        EObject this_Puerto_1 = null;


         EObject temp=null; setCurrentLookahead(); resetLookahead(); 
            
        try {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:224:6: ( (this_IP_0= ruleIP | this_Puerto_1= rulePuerto ) )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:225:1: (this_IP_0= ruleIP | this_Puerto_1= rulePuerto )
            {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:225:1: (this_IP_0= ruleIP | this_Puerto_1= rulePuerto )
            int alt3=2;
            int LA3_0 = input.LA(1);

            if ( (LA3_0==RULE_INT) ) {
                alt3=1;
            }
            else if ( (LA3_0==13) ) {
                alt3=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("225:1: (this_IP_0= ruleIP | this_Puerto_1= rulePuerto )", 3, 0, input);

                throw nvae;
            }
            switch (alt3) {
                case 1 :
                    // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:226:5: this_IP_0= ruleIP
                    {
                     
                            currentNode=createCompositeNode(grammarAccess.getDestinoAccess().getIPParserRuleCall_0(), currentNode); 
                        
                    pushFollow(FOLLOW_ruleIP_in_ruleDestino357);
                    this_IP_0=ruleIP();
                    _fsp--;

                     
                            current = this_IP_0; 
                            currentNode = currentNode.getParent();
                        

                    }
                    break;
                case 2 :
                    // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:236:5: this_Puerto_1= rulePuerto
                    {
                     
                            currentNode=createCompositeNode(grammarAccess.getDestinoAccess().getPuertoParserRuleCall_1(), currentNode); 
                        
                    pushFollow(FOLLOW_rulePuerto_in_ruleDestino384);
                    this_Puerto_1=rulePuerto();
                    _fsp--;

                     
                            current = this_Puerto_1; 
                            currentNode = currentNode.getParent();
                        

                    }
                    break;

            }


            }

             resetLookahead(); 
                	lastConsumedNode = currentNode;
                
        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end ruleDestino


    // $ANTLR start entryRuleIP
    // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:252:1: entryRuleIP returns [EObject current=null] : iv_ruleIP= ruleIP EOF ;
    public final EObject entryRuleIP() throws RecognitionException {
        EObject current = null;

        EObject iv_ruleIP = null;


        try {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:253:2: (iv_ruleIP= ruleIP EOF )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:254:2: iv_ruleIP= ruleIP EOF
            {
             currentNode = createCompositeNode(grammarAccess.getIPRule(), currentNode); 
            pushFollow(FOLLOW_ruleIP_in_entryRuleIP419);
            iv_ruleIP=ruleIP();
            _fsp--;

             current =iv_ruleIP; 
            match(input,EOF,FOLLOW_EOF_in_entryRuleIP429); 

            }

        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end entryRuleIP


    // $ANTLR start ruleIP
    // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:261:1: ruleIP returns [EObject current=null] : ( ( (lv_primer_0_0= RULE_INT ) ) ( '.' ( (lv_segundo_2_0= RULE_INT ) ) ( '.' ( (lv_tercer_4_0= RULE_INT ) ) ( '.' ( (lv_cuarto_6_0= RULE_INT ) ) ) ) ) ( (lv_puerto_7_0= rulePuerto ) )? ) ;
    public final EObject ruleIP() throws RecognitionException {
        EObject current = null;

        Token lv_primer_0_0=null;
        Token lv_segundo_2_0=null;
        Token lv_tercer_4_0=null;
        Token lv_cuarto_6_0=null;
        EObject lv_puerto_7_0 = null;


         EObject temp=null; setCurrentLookahead(); resetLookahead(); 
            
        try {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:266:6: ( ( ( (lv_primer_0_0= RULE_INT ) ) ( '.' ( (lv_segundo_2_0= RULE_INT ) ) ( '.' ( (lv_tercer_4_0= RULE_INT ) ) ( '.' ( (lv_cuarto_6_0= RULE_INT ) ) ) ) ) ( (lv_puerto_7_0= rulePuerto ) )? ) )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:267:1: ( ( (lv_primer_0_0= RULE_INT ) ) ( '.' ( (lv_segundo_2_0= RULE_INT ) ) ( '.' ( (lv_tercer_4_0= RULE_INT ) ) ( '.' ( (lv_cuarto_6_0= RULE_INT ) ) ) ) ) ( (lv_puerto_7_0= rulePuerto ) )? )
            {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:267:1: ( ( (lv_primer_0_0= RULE_INT ) ) ( '.' ( (lv_segundo_2_0= RULE_INT ) ) ( '.' ( (lv_tercer_4_0= RULE_INT ) ) ( '.' ( (lv_cuarto_6_0= RULE_INT ) ) ) ) ) ( (lv_puerto_7_0= rulePuerto ) )? )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:267:2: ( (lv_primer_0_0= RULE_INT ) ) ( '.' ( (lv_segundo_2_0= RULE_INT ) ) ( '.' ( (lv_tercer_4_0= RULE_INT ) ) ( '.' ( (lv_cuarto_6_0= RULE_INT ) ) ) ) ) ( (lv_puerto_7_0= rulePuerto ) )?
            {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:267:2: ( (lv_primer_0_0= RULE_INT ) )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:268:1: (lv_primer_0_0= RULE_INT )
            {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:268:1: (lv_primer_0_0= RULE_INT )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:269:3: lv_primer_0_0= RULE_INT
            {
            lv_primer_0_0=(Token)input.LT(1);
            match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleIP471); 

            			createLeafNode(grammarAccess.getIPAccess().getPrimerINTTerminalRuleCall_0_0(), "primer"); 
            		

            	        if (current==null) {
            	            current = factory.create(grammarAccess.getIPRule().getType().getClassifier());
            	            associateNodeWithAstElement(currentNode, current);
            	        }
            	        try {
            	       		set(
            	       			current, 
            	       			"primer",
            	        		lv_primer_0_0, 
            	        		"INT", 
            	        		lastConsumedNode);
            	        } catch (ValueConverterException vce) {
            				handleValueConverterException(vce);
            	        }
            	    

            }


            }

            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:291:2: ( '.' ( (lv_segundo_2_0= RULE_INT ) ) ( '.' ( (lv_tercer_4_0= RULE_INT ) ) ( '.' ( (lv_cuarto_6_0= RULE_INT ) ) ) ) )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:291:4: '.' ( (lv_segundo_2_0= RULE_INT ) ) ( '.' ( (lv_tercer_4_0= RULE_INT ) ) ( '.' ( (lv_cuarto_6_0= RULE_INT ) ) ) )
            {
            match(input,12,FOLLOW_12_in_ruleIP487); 

                    createLeafNode(grammarAccess.getIPAccess().getFullStopKeyword_1_0(), null); 
                
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:295:1: ( (lv_segundo_2_0= RULE_INT ) )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:296:1: (lv_segundo_2_0= RULE_INT )
            {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:296:1: (lv_segundo_2_0= RULE_INT )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:297:3: lv_segundo_2_0= RULE_INT
            {
            lv_segundo_2_0=(Token)input.LT(1);
            match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleIP504); 

            			createLeafNode(grammarAccess.getIPAccess().getSegundoINTTerminalRuleCall_1_1_0(), "segundo"); 
            		

            	        if (current==null) {
            	            current = factory.create(grammarAccess.getIPRule().getType().getClassifier());
            	            associateNodeWithAstElement(currentNode, current);
            	        }
            	        try {
            	       		set(
            	       			current, 
            	       			"segundo",
            	        		lv_segundo_2_0, 
            	        		"INT", 
            	        		lastConsumedNode);
            	        } catch (ValueConverterException vce) {
            				handleValueConverterException(vce);
            	        }
            	    

            }


            }

            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:319:2: ( '.' ( (lv_tercer_4_0= RULE_INT ) ) ( '.' ( (lv_cuarto_6_0= RULE_INT ) ) ) )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:319:4: '.' ( (lv_tercer_4_0= RULE_INT ) ) ( '.' ( (lv_cuarto_6_0= RULE_INT ) ) )
            {
            match(input,12,FOLLOW_12_in_ruleIP520); 

                    createLeafNode(grammarAccess.getIPAccess().getFullStopKeyword_1_2_0(), null); 
                
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:323:1: ( (lv_tercer_4_0= RULE_INT ) )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:324:1: (lv_tercer_4_0= RULE_INT )
            {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:324:1: (lv_tercer_4_0= RULE_INT )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:325:3: lv_tercer_4_0= RULE_INT
            {
            lv_tercer_4_0=(Token)input.LT(1);
            match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleIP537); 

            			createLeafNode(grammarAccess.getIPAccess().getTercerINTTerminalRuleCall_1_2_1_0(), "tercer"); 
            		

            	        if (current==null) {
            	            current = factory.create(grammarAccess.getIPRule().getType().getClassifier());
            	            associateNodeWithAstElement(currentNode, current);
            	        }
            	        try {
            	       		set(
            	       			current, 
            	       			"tercer",
            	        		lv_tercer_4_0, 
            	        		"INT", 
            	        		lastConsumedNode);
            	        } catch (ValueConverterException vce) {
            				handleValueConverterException(vce);
            	        }
            	    

            }


            }

            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:347:2: ( '.' ( (lv_cuarto_6_0= RULE_INT ) ) )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:347:4: '.' ( (lv_cuarto_6_0= RULE_INT ) )
            {
            match(input,12,FOLLOW_12_in_ruleIP553); 

                    createLeafNode(grammarAccess.getIPAccess().getFullStopKeyword_1_2_2_0(), null); 
                
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:351:1: ( (lv_cuarto_6_0= RULE_INT ) )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:352:1: (lv_cuarto_6_0= RULE_INT )
            {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:352:1: (lv_cuarto_6_0= RULE_INT )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:353:3: lv_cuarto_6_0= RULE_INT
            {
            lv_cuarto_6_0=(Token)input.LT(1);
            match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleIP570); 

            			createLeafNode(grammarAccess.getIPAccess().getCuartoINTTerminalRuleCall_1_2_2_1_0(), "cuarto"); 
            		

            	        if (current==null) {
            	            current = factory.create(grammarAccess.getIPRule().getType().getClassifier());
            	            associateNodeWithAstElement(currentNode, current);
            	        }
            	        try {
            	       		set(
            	       			current, 
            	       			"cuarto",
            	        		lv_cuarto_6_0, 
            	        		"INT", 
            	        		lastConsumedNode);
            	        } catch (ValueConverterException vce) {
            				handleValueConverterException(vce);
            	        }
            	    

            }


            }


            }


            }


            }

            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:375:5: ( (lv_puerto_7_0= rulePuerto ) )?
            int alt4=2;
            int LA4_0 = input.LA(1);

            if ( (LA4_0==13) ) {
                int LA4_1 = input.LA(2);

                if ( (LA4_1==RULE_INT) ) {
                    alt4=1;
                }
            }
            switch (alt4) {
                case 1 :
                    // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:376:1: (lv_puerto_7_0= rulePuerto )
                    {
                    // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:376:1: (lv_puerto_7_0= rulePuerto )
                    // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:377:3: lv_puerto_7_0= rulePuerto
                    {
                     
                    	        currentNode=createCompositeNode(grammarAccess.getIPAccess().getPuertoPuertoParserRuleCall_2_0(), currentNode); 
                    	    
                    pushFollow(FOLLOW_rulePuerto_in_ruleIP599);
                    lv_puerto_7_0=rulePuerto();
                    _fsp--;


                    	        if (current==null) {
                    	            current = factory.create(grammarAccess.getIPRule().getType().getClassifier());
                    	            associateNodeWithAstElement(currentNode.getParent(), current);
                    	        }
                    	        try {
                    	       		set(
                    	       			current, 
                    	       			"puerto",
                    	        		lv_puerto_7_0, 
                    	        		"Puerto", 
                    	        		currentNode);
                    	        } catch (ValueConverterException vce) {
                    				handleValueConverterException(vce);
                    	        }
                    	        currentNode = currentNode.getParent();
                    	    

                    }


                    }
                    break;

            }


            }


            }

             resetLookahead(); 
                	lastConsumedNode = currentNode;
                
        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end ruleIP


    // $ANTLR start entryRulePuerto
    // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:407:1: entryRulePuerto returns [EObject current=null] : iv_rulePuerto= rulePuerto EOF ;
    public final EObject entryRulePuerto() throws RecognitionException {
        EObject current = null;

        EObject iv_rulePuerto = null;


        try {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:408:2: (iv_rulePuerto= rulePuerto EOF )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:409:2: iv_rulePuerto= rulePuerto EOF
            {
             currentNode = createCompositeNode(grammarAccess.getPuertoRule(), currentNode); 
            pushFollow(FOLLOW_rulePuerto_in_entryRulePuerto636);
            iv_rulePuerto=rulePuerto();
            _fsp--;

             current =iv_rulePuerto; 
            match(input,EOF,FOLLOW_EOF_in_entryRulePuerto646); 

            }

        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end entryRulePuerto


    // $ANTLR start rulePuerto
    // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:416:1: rulePuerto returns [EObject current=null] : ( ':' ( (lv_p_1_0= RULE_INT ) ) ) ;
    public final EObject rulePuerto() throws RecognitionException {
        EObject current = null;

        Token lv_p_1_0=null;

         EObject temp=null; setCurrentLookahead(); resetLookahead(); 
            
        try {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:421:6: ( ( ':' ( (lv_p_1_0= RULE_INT ) ) ) )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:422:1: ( ':' ( (lv_p_1_0= RULE_INT ) ) )
            {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:422:1: ( ':' ( (lv_p_1_0= RULE_INT ) ) )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:422:3: ':' ( (lv_p_1_0= RULE_INT ) )
            {
            match(input,13,FOLLOW_13_in_rulePuerto681); 

                    createLeafNode(grammarAccess.getPuertoAccess().getColonKeyword_0(), null); 
                
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:426:1: ( (lv_p_1_0= RULE_INT ) )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:427:1: (lv_p_1_0= RULE_INT )
            {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:427:1: (lv_p_1_0= RULE_INT )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:428:3: lv_p_1_0= RULE_INT
            {
            lv_p_1_0=(Token)input.LT(1);
            match(input,RULE_INT,FOLLOW_RULE_INT_in_rulePuerto698); 

            			createLeafNode(grammarAccess.getPuertoAccess().getPINTTerminalRuleCall_1_0(), "p"); 
            		

            	        if (current==null) {
            	            current = factory.create(grammarAccess.getPuertoRule().getType().getClassifier());
            	            associateNodeWithAstElement(currentNode, current);
            	        }
            	        try {
            	       		set(
            	       			current, 
            	       			"p",
            	        		lv_p_1_0, 
            	        		"INT", 
            	        		lastConsumedNode);
            	        } catch (ValueConverterException vce) {
            				handleValueConverterException(vce);
            	        }
            	    

            }


            }


            }


            }

             resetLookahead(); 
                	lastConsumedNode = currentNode;
                
        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end rulePuerto


    // $ANTLR start entryRuleCampoSubred
    // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:458:1: entryRuleCampoSubred returns [EObject current=null] : iv_ruleCampoSubred= ruleCampoSubred EOF ;
    public final EObject entryRuleCampoSubred() throws RecognitionException {
        EObject current = null;

        EObject iv_ruleCampoSubred = null;


        try {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:459:2: (iv_ruleCampoSubred= ruleCampoSubred EOF )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:460:2: iv_ruleCampoSubred= ruleCampoSubred EOF
            {
             currentNode = createCompositeNode(grammarAccess.getCampoSubredRule(), currentNode); 
            pushFollow(FOLLOW_ruleCampoSubred_in_entryRuleCampoSubred739);
            iv_ruleCampoSubred=ruleCampoSubred();
            _fsp--;

             current =iv_ruleCampoSubred; 
            match(input,EOF,FOLLOW_EOF_in_entryRuleCampoSubred749); 

            }

        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end entryRuleCampoSubred


    // $ANTLR start ruleCampoSubred
    // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:467:1: ruleCampoSubred returns [EObject current=null] : ( ( (lv_i_0_0= RULE_INT ) ) | ( (lv_a_1_0= '*' ) ) ) ;
    public final EObject ruleCampoSubred() throws RecognitionException {
        EObject current = null;

        Token lv_i_0_0=null;
        Token lv_a_1_0=null;

         EObject temp=null; setCurrentLookahead(); resetLookahead(); 
            
        try {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:472:6: ( ( ( (lv_i_0_0= RULE_INT ) ) | ( (lv_a_1_0= '*' ) ) ) )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:473:1: ( ( (lv_i_0_0= RULE_INT ) ) | ( (lv_a_1_0= '*' ) ) )
            {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:473:1: ( ( (lv_i_0_0= RULE_INT ) ) | ( (lv_a_1_0= '*' ) ) )
            int alt5=2;
            int LA5_0 = input.LA(1);

            if ( (LA5_0==RULE_INT) ) {
                alt5=1;
            }
            else if ( (LA5_0==14) ) {
                alt5=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("473:1: ( ( (lv_i_0_0= RULE_INT ) ) | ( (lv_a_1_0= '*' ) ) )", 5, 0, input);

                throw nvae;
            }
            switch (alt5) {
                case 1 :
                    // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:473:2: ( (lv_i_0_0= RULE_INT ) )
                    {
                    // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:473:2: ( (lv_i_0_0= RULE_INT ) )
                    // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:474:1: (lv_i_0_0= RULE_INT )
                    {
                    // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:474:1: (lv_i_0_0= RULE_INT )
                    // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:475:3: lv_i_0_0= RULE_INT
                    {
                    lv_i_0_0=(Token)input.LT(1);
                    match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleCampoSubred791); 

                    			createLeafNode(grammarAccess.getCampoSubredAccess().getIINTTerminalRuleCall_0_0(), "i"); 
                    		

                    	        if (current==null) {
                    	            current = factory.create(grammarAccess.getCampoSubredRule().getType().getClassifier());
                    	            associateNodeWithAstElement(currentNode, current);
                    	        }
                    	        try {
                    	       		set(
                    	       			current, 
                    	       			"i",
                    	        		lv_i_0_0, 
                    	        		"INT", 
                    	        		lastConsumedNode);
                    	        } catch (ValueConverterException vce) {
                    				handleValueConverterException(vce);
                    	        }
                    	    

                    }


                    }


                    }
                    break;
                case 2 :
                    // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:498:6: ( (lv_a_1_0= '*' ) )
                    {
                    // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:498:6: ( (lv_a_1_0= '*' ) )
                    // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:499:1: (lv_a_1_0= '*' )
                    {
                    // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:499:1: (lv_a_1_0= '*' )
                    // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:500:3: lv_a_1_0= '*'
                    {
                    lv_a_1_0=(Token)input.LT(1);
                    match(input,14,FOLLOW_14_in_ruleCampoSubred820); 

                            createLeafNode(grammarAccess.getCampoSubredAccess().getAAsteriskKeyword_1_0(), "a"); 
                        

                    	        if (current==null) {
                    	            current = factory.create(grammarAccess.getCampoSubredRule().getType().getClassifier());
                    	            associateNodeWithAstElement(currentNode, current);
                    	        }
                    	        
                    	        try {
                    	       		set(current, "a", lv_a_1_0, "*", lastConsumedNode);
                    	        } catch (ValueConverterException vce) {
                    				handleValueConverterException(vce);
                    	        }
                    	    

                    }


                    }


                    }
                    break;

            }


            }

             resetLookahead(); 
                	lastConsumedNode = currentNode;
                
        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end ruleCampoSubred


    // $ANTLR start entryRuleSubred
    // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:527:1: entryRuleSubred returns [EObject current=null] : iv_ruleSubred= ruleSubred EOF ;
    public final EObject entryRuleSubred() throws RecognitionException {
        EObject current = null;

        EObject iv_ruleSubred = null;


        try {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:528:2: (iv_ruleSubred= ruleSubred EOF )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:529:2: iv_ruleSubred= ruleSubred EOF
            {
             currentNode = createCompositeNode(grammarAccess.getSubredRule(), currentNode); 
            pushFollow(FOLLOW_ruleSubred_in_entryRuleSubred869);
            iv_ruleSubred=ruleSubred();
            _fsp--;

             current =iv_ruleSubred; 
            match(input,EOF,FOLLOW_EOF_in_entryRuleSubred879); 

            }

        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end entryRuleSubred


    // $ANTLR start ruleSubred
    // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:536:1: ruleSubred returns [EObject current=null] : ( ( (lv_int_0_0= RULE_INT ) ) ( '.' ( (lv_segundo_2_0= ruleCampoSubred ) ) ( '.' ( (lv_tercero_4_0= ruleCampoSubred ) ) ( '.' ( (lv_cuarto_6_0= ruleCampoSubred ) ) ) ) ) ) ;
    public final EObject ruleSubred() throws RecognitionException {
        EObject current = null;

        Token lv_int_0_0=null;
        EObject lv_segundo_2_0 = null;

        EObject lv_tercero_4_0 = null;

        EObject lv_cuarto_6_0 = null;


         EObject temp=null; setCurrentLookahead(); resetLookahead(); 
            
        try {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:541:6: ( ( ( (lv_int_0_0= RULE_INT ) ) ( '.' ( (lv_segundo_2_0= ruleCampoSubred ) ) ( '.' ( (lv_tercero_4_0= ruleCampoSubred ) ) ( '.' ( (lv_cuarto_6_0= ruleCampoSubred ) ) ) ) ) ) )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:542:1: ( ( (lv_int_0_0= RULE_INT ) ) ( '.' ( (lv_segundo_2_0= ruleCampoSubred ) ) ( '.' ( (lv_tercero_4_0= ruleCampoSubred ) ) ( '.' ( (lv_cuarto_6_0= ruleCampoSubred ) ) ) ) ) )
            {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:542:1: ( ( (lv_int_0_0= RULE_INT ) ) ( '.' ( (lv_segundo_2_0= ruleCampoSubred ) ) ( '.' ( (lv_tercero_4_0= ruleCampoSubred ) ) ( '.' ( (lv_cuarto_6_0= ruleCampoSubred ) ) ) ) ) )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:542:2: ( (lv_int_0_0= RULE_INT ) ) ( '.' ( (lv_segundo_2_0= ruleCampoSubred ) ) ( '.' ( (lv_tercero_4_0= ruleCampoSubred ) ) ( '.' ( (lv_cuarto_6_0= ruleCampoSubred ) ) ) ) )
            {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:542:2: ( (lv_int_0_0= RULE_INT ) )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:543:1: (lv_int_0_0= RULE_INT )
            {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:543:1: (lv_int_0_0= RULE_INT )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:544:3: lv_int_0_0= RULE_INT
            {
            lv_int_0_0=(Token)input.LT(1);
            match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleSubred921); 

            			createLeafNode(grammarAccess.getSubredAccess().getIntINTTerminalRuleCall_0_0(), "int"); 
            		

            	        if (current==null) {
            	            current = factory.create(grammarAccess.getSubredRule().getType().getClassifier());
            	            associateNodeWithAstElement(currentNode, current);
            	        }
            	        try {
            	       		set(
            	       			current, 
            	       			"int",
            	        		lv_int_0_0, 
            	        		"INT", 
            	        		lastConsumedNode);
            	        } catch (ValueConverterException vce) {
            				handleValueConverterException(vce);
            	        }
            	    

            }


            }

            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:566:2: ( '.' ( (lv_segundo_2_0= ruleCampoSubred ) ) ( '.' ( (lv_tercero_4_0= ruleCampoSubred ) ) ( '.' ( (lv_cuarto_6_0= ruleCampoSubred ) ) ) ) )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:566:4: '.' ( (lv_segundo_2_0= ruleCampoSubred ) ) ( '.' ( (lv_tercero_4_0= ruleCampoSubred ) ) ( '.' ( (lv_cuarto_6_0= ruleCampoSubred ) ) ) )
            {
            match(input,12,FOLLOW_12_in_ruleSubred937); 

                    createLeafNode(grammarAccess.getSubredAccess().getFullStopKeyword_1_0(), null); 
                
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:570:1: ( (lv_segundo_2_0= ruleCampoSubred ) )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:571:1: (lv_segundo_2_0= ruleCampoSubred )
            {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:571:1: (lv_segundo_2_0= ruleCampoSubred )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:572:3: lv_segundo_2_0= ruleCampoSubred
            {
             
            	        currentNode=createCompositeNode(grammarAccess.getSubredAccess().getSegundoCampoSubredParserRuleCall_1_1_0(), currentNode); 
            	    
            pushFollow(FOLLOW_ruleCampoSubred_in_ruleSubred958);
            lv_segundo_2_0=ruleCampoSubred();
            _fsp--;


            	        if (current==null) {
            	            current = factory.create(grammarAccess.getSubredRule().getType().getClassifier());
            	            associateNodeWithAstElement(currentNode.getParent(), current);
            	        }
            	        try {
            	       		set(
            	       			current, 
            	       			"segundo",
            	        		lv_segundo_2_0, 
            	        		"CampoSubred", 
            	        		currentNode);
            	        } catch (ValueConverterException vce) {
            				handleValueConverterException(vce);
            	        }
            	        currentNode = currentNode.getParent();
            	    

            }


            }

            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:594:2: ( '.' ( (lv_tercero_4_0= ruleCampoSubred ) ) ( '.' ( (lv_cuarto_6_0= ruleCampoSubred ) ) ) )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:594:4: '.' ( (lv_tercero_4_0= ruleCampoSubred ) ) ( '.' ( (lv_cuarto_6_0= ruleCampoSubred ) ) )
            {
            match(input,12,FOLLOW_12_in_ruleSubred969); 

                    createLeafNode(grammarAccess.getSubredAccess().getFullStopKeyword_1_2_0(), null); 
                
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:598:1: ( (lv_tercero_4_0= ruleCampoSubred ) )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:599:1: (lv_tercero_4_0= ruleCampoSubred )
            {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:599:1: (lv_tercero_4_0= ruleCampoSubred )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:600:3: lv_tercero_4_0= ruleCampoSubred
            {
             
            	        currentNode=createCompositeNode(grammarAccess.getSubredAccess().getTerceroCampoSubredParserRuleCall_1_2_1_0(), currentNode); 
            	    
            pushFollow(FOLLOW_ruleCampoSubred_in_ruleSubred990);
            lv_tercero_4_0=ruleCampoSubred();
            _fsp--;


            	        if (current==null) {
            	            current = factory.create(grammarAccess.getSubredRule().getType().getClassifier());
            	            associateNodeWithAstElement(currentNode.getParent(), current);
            	        }
            	        try {
            	       		set(
            	       			current, 
            	       			"tercero",
            	        		lv_tercero_4_0, 
            	        		"CampoSubred", 
            	        		currentNode);
            	        } catch (ValueConverterException vce) {
            				handleValueConverterException(vce);
            	        }
            	        currentNode = currentNode.getParent();
            	    

            }


            }

            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:622:2: ( '.' ( (lv_cuarto_6_0= ruleCampoSubred ) ) )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:622:4: '.' ( (lv_cuarto_6_0= ruleCampoSubred ) )
            {
            match(input,12,FOLLOW_12_in_ruleSubred1001); 

                    createLeafNode(grammarAccess.getSubredAccess().getFullStopKeyword_1_2_2_0(), null); 
                
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:626:1: ( (lv_cuarto_6_0= ruleCampoSubred ) )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:627:1: (lv_cuarto_6_0= ruleCampoSubred )
            {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:627:1: (lv_cuarto_6_0= ruleCampoSubred )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:628:3: lv_cuarto_6_0= ruleCampoSubred
            {
             
            	        currentNode=createCompositeNode(grammarAccess.getSubredAccess().getCuartoCampoSubredParserRuleCall_1_2_2_1_0(), currentNode); 
            	    
            pushFollow(FOLLOW_ruleCampoSubred_in_ruleSubred1022);
            lv_cuarto_6_0=ruleCampoSubred();
            _fsp--;


            	        if (current==null) {
            	            current = factory.create(grammarAccess.getSubredRule().getType().getClassifier());
            	            associateNodeWithAstElement(currentNode.getParent(), current);
            	        }
            	        try {
            	       		set(
            	       			current, 
            	       			"cuarto",
            	        		lv_cuarto_6_0, 
            	        		"CampoSubred", 
            	        		currentNode);
            	        } catch (ValueConverterException vce) {
            				handleValueConverterException(vce);
            	        }
            	        currentNode = currentNode.getParent();
            	    

            }


            }


            }


            }


            }


            }


            }

             resetLookahead(); 
                	lastConsumedNode = currentNode;
                
        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end ruleSubred


    // $ANTLR start entryRuleMayor
    // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:658:1: entryRuleMayor returns [EObject current=null] : iv_ruleMayor= ruleMayor EOF ;
    public final EObject entryRuleMayor() throws RecognitionException {
        EObject current = null;

        EObject iv_ruleMayor = null;


        try {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:659:2: (iv_ruleMayor= ruleMayor EOF )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:660:2: iv_ruleMayor= ruleMayor EOF
            {
             currentNode = createCompositeNode(grammarAccess.getMayorRule(), currentNode); 
            pushFollow(FOLLOW_ruleMayor_in_entryRuleMayor1061);
            iv_ruleMayor=ruleMayor();
            _fsp--;

             current =iv_ruleMayor; 
            match(input,EOF,FOLLOW_EOF_in_entryRuleMayor1071); 

            }

        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end entryRuleMayor


    // $ANTLR start ruleMayor
    // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:667:1: ruleMayor returns [EObject current=null] : ( '>' ( (lv_mayor_1_0= RULE_INT ) ) ) ;
    public final EObject ruleMayor() throws RecognitionException {
        EObject current = null;

        Token lv_mayor_1_0=null;

         EObject temp=null; setCurrentLookahead(); resetLookahead(); 
            
        try {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:672:6: ( ( '>' ( (lv_mayor_1_0= RULE_INT ) ) ) )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:673:1: ( '>' ( (lv_mayor_1_0= RULE_INT ) ) )
            {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:673:1: ( '>' ( (lv_mayor_1_0= RULE_INT ) ) )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:673:3: '>' ( (lv_mayor_1_0= RULE_INT ) )
            {
            match(input,15,FOLLOW_15_in_ruleMayor1106); 

                    createLeafNode(grammarAccess.getMayorAccess().getGreaterThanSignKeyword_0(), null); 
                
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:677:1: ( (lv_mayor_1_0= RULE_INT ) )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:678:1: (lv_mayor_1_0= RULE_INT )
            {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:678:1: (lv_mayor_1_0= RULE_INT )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:679:3: lv_mayor_1_0= RULE_INT
            {
            lv_mayor_1_0=(Token)input.LT(1);
            match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleMayor1123); 

            			createLeafNode(grammarAccess.getMayorAccess().getMayorINTTerminalRuleCall_1_0(), "mayor"); 
            		

            	        if (current==null) {
            	            current = factory.create(grammarAccess.getMayorRule().getType().getClassifier());
            	            associateNodeWithAstElement(currentNode, current);
            	        }
            	        try {
            	       		set(
            	       			current, 
            	       			"mayor",
            	        		lv_mayor_1_0, 
            	        		"INT", 
            	        		lastConsumedNode);
            	        } catch (ValueConverterException vce) {
            				handleValueConverterException(vce);
            	        }
            	    

            }


            }


            }


            }

             resetLookahead(); 
                	lastConsumedNode = currentNode;
                
        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end ruleMayor


    // $ANTLR start entryRuleMenor
    // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:709:1: entryRuleMenor returns [EObject current=null] : iv_ruleMenor= ruleMenor EOF ;
    public final EObject entryRuleMenor() throws RecognitionException {
        EObject current = null;

        EObject iv_ruleMenor = null;


        try {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:710:2: (iv_ruleMenor= ruleMenor EOF )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:711:2: iv_ruleMenor= ruleMenor EOF
            {
             currentNode = createCompositeNode(grammarAccess.getMenorRule(), currentNode); 
            pushFollow(FOLLOW_ruleMenor_in_entryRuleMenor1164);
            iv_ruleMenor=ruleMenor();
            _fsp--;

             current =iv_ruleMenor; 
            match(input,EOF,FOLLOW_EOF_in_entryRuleMenor1174); 

            }

        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end entryRuleMenor


    // $ANTLR start ruleMenor
    // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:718:1: ruleMenor returns [EObject current=null] : ( '<' ( (lv_menor_1_0= RULE_INT ) ) ) ;
    public final EObject ruleMenor() throws RecognitionException {
        EObject current = null;

        Token lv_menor_1_0=null;

         EObject temp=null; setCurrentLookahead(); resetLookahead(); 
            
        try {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:723:6: ( ( '<' ( (lv_menor_1_0= RULE_INT ) ) ) )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:724:1: ( '<' ( (lv_menor_1_0= RULE_INT ) ) )
            {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:724:1: ( '<' ( (lv_menor_1_0= RULE_INT ) ) )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:724:3: '<' ( (lv_menor_1_0= RULE_INT ) )
            {
            match(input,16,FOLLOW_16_in_ruleMenor1209); 

                    createLeafNode(grammarAccess.getMenorAccess().getLessThanSignKeyword_0(), null); 
                
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:728:1: ( (lv_menor_1_0= RULE_INT ) )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:729:1: (lv_menor_1_0= RULE_INT )
            {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:729:1: (lv_menor_1_0= RULE_INT )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:730:3: lv_menor_1_0= RULE_INT
            {
            lv_menor_1_0=(Token)input.LT(1);
            match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleMenor1226); 

            			createLeafNode(grammarAccess.getMenorAccess().getMenorINTTerminalRuleCall_1_0(), "menor"); 
            		

            	        if (current==null) {
            	            current = factory.create(grammarAccess.getMenorRule().getType().getClassifier());
            	            associateNodeWithAstElement(currentNode, current);
            	        }
            	        try {
            	       		set(
            	       			current, 
            	       			"menor",
            	        		lv_menor_1_0, 
            	        		"INT", 
            	        		lastConsumedNode);
            	        } catch (ValueConverterException vce) {
            				handleValueConverterException(vce);
            	        }
            	    

            }


            }


            }


            }

             resetLookahead(); 
                	lastConsumedNode = currentNode;
                
        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end ruleMenor


    // $ANTLR start entryRuleRango
    // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:760:1: entryRuleRango returns [EObject current=null] : iv_ruleRango= ruleRango EOF ;
    public final EObject entryRuleRango() throws RecognitionException {
        EObject current = null;

        EObject iv_ruleRango = null;


        try {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:761:2: (iv_ruleRango= ruleRango EOF )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:762:2: iv_ruleRango= ruleRango EOF
            {
             currentNode = createCompositeNode(grammarAccess.getRangoRule(), currentNode); 
            pushFollow(FOLLOW_ruleRango_in_entryRuleRango1267);
            iv_ruleRango=ruleRango();
            _fsp--;

             current =iv_ruleRango; 
            match(input,EOF,FOLLOW_EOF_in_entryRuleRango1277); 

            }

        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end entryRuleRango


    // $ANTLR start ruleRango
    // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:769:1: ruleRango returns [EObject current=null] : ( 'range' ( (lv_dest1_1_0= ruleDestino ) ) ( (lv_dest2_2_0= ruleDestino ) ) ) ;
    public final EObject ruleRango() throws RecognitionException {
        EObject current = null;

        EObject lv_dest1_1_0 = null;

        EObject lv_dest2_2_0 = null;


         EObject temp=null; setCurrentLookahead(); resetLookahead(); 
            
        try {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:774:6: ( ( 'range' ( (lv_dest1_1_0= ruleDestino ) ) ( (lv_dest2_2_0= ruleDestino ) ) ) )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:775:1: ( 'range' ( (lv_dest1_1_0= ruleDestino ) ) ( (lv_dest2_2_0= ruleDestino ) ) )
            {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:775:1: ( 'range' ( (lv_dest1_1_0= ruleDestino ) ) ( (lv_dest2_2_0= ruleDestino ) ) )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:775:3: 'range' ( (lv_dest1_1_0= ruleDestino ) ) ( (lv_dest2_2_0= ruleDestino ) )
            {
            match(input,17,FOLLOW_17_in_ruleRango1312); 

                    createLeafNode(grammarAccess.getRangoAccess().getRangeKeyword_0(), null); 
                
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:779:1: ( (lv_dest1_1_0= ruleDestino ) )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:780:1: (lv_dest1_1_0= ruleDestino )
            {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:780:1: (lv_dest1_1_0= ruleDestino )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:781:3: lv_dest1_1_0= ruleDestino
            {
             
            	        currentNode=createCompositeNode(grammarAccess.getRangoAccess().getDest1DestinoParserRuleCall_1_0(), currentNode); 
            	    
            pushFollow(FOLLOW_ruleDestino_in_ruleRango1333);
            lv_dest1_1_0=ruleDestino();
            _fsp--;


            	        if (current==null) {
            	            current = factory.create(grammarAccess.getRangoRule().getType().getClassifier());
            	            associateNodeWithAstElement(currentNode.getParent(), current);
            	        }
            	        try {
            	       		set(
            	       			current, 
            	       			"dest1",
            	        		lv_dest1_1_0, 
            	        		"Destino", 
            	        		currentNode);
            	        } catch (ValueConverterException vce) {
            				handleValueConverterException(vce);
            	        }
            	        currentNode = currentNode.getParent();
            	    

            }


            }

            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:803:2: ( (lv_dest2_2_0= ruleDestino ) )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:804:1: (lv_dest2_2_0= ruleDestino )
            {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:804:1: (lv_dest2_2_0= ruleDestino )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:805:3: lv_dest2_2_0= ruleDestino
            {
             
            	        currentNode=createCompositeNode(grammarAccess.getRangoAccess().getDest2DestinoParserRuleCall_2_0(), currentNode); 
            	    
            pushFollow(FOLLOW_ruleDestino_in_ruleRango1354);
            lv_dest2_2_0=ruleDestino();
            _fsp--;


            	        if (current==null) {
            	            current = factory.create(grammarAccess.getRangoRule().getType().getClassifier());
            	            associateNodeWithAstElement(currentNode.getParent(), current);
            	        }
            	        try {
            	       		set(
            	       			current, 
            	       			"dest2",
            	        		lv_dest2_2_0, 
            	        		"Destino", 
            	        		currentNode);
            	        } catch (ValueConverterException vce) {
            				handleValueConverterException(vce);
            	        }
            	        currentNode = currentNode.getParent();
            	    

            }


            }


            }


            }

             resetLookahead(); 
                	lastConsumedNode = currentNode;
                
        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end ruleRango


    // $ANTLR start entryRuleRegla
    // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:835:1: entryRuleRegla returns [EObject current=null] : iv_ruleRegla= ruleRegla EOF ;
    public final EObject entryRuleRegla() throws RecognitionException {
        EObject current = null;

        EObject iv_ruleRegla = null;


        try {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:836:2: (iv_ruleRegla= ruleRegla EOF )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:837:2: iv_ruleRegla= ruleRegla EOF
            {
             currentNode = createCompositeNode(grammarAccess.getReglaRule(), currentNode); 
            pushFollow(FOLLOW_ruleRegla_in_entryRuleRegla1390);
            iv_ruleRegla=ruleRegla();
            _fsp--;

             current =iv_ruleRegla; 
            match(input,EOF,FOLLOW_EOF_in_entryRuleRegla1400); 

            }

        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end entryRuleRegla


    // $ANTLR start ruleRegla
    // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:844:1: ruleRegla returns [EObject current=null] : (this_Accion_0= ruleAccion | this_Filtro_1= ruleFiltro ) ;
    public final EObject ruleRegla() throws RecognitionException {
        EObject current = null;

        EObject this_Accion_0 = null;

        EObject this_Filtro_1 = null;


         EObject temp=null; setCurrentLookahead(); resetLookahead(); 
            
        try {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:849:6: ( (this_Accion_0= ruleAccion | this_Filtro_1= ruleFiltro ) )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:850:1: (this_Accion_0= ruleAccion | this_Filtro_1= ruleFiltro )
            {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:850:1: (this_Accion_0= ruleAccion | this_Filtro_1= ruleFiltro )
            int alt6=2;
            int LA6_0 = input.LA(1);

            if ( ((LA6_0>=19 && LA6_0<=25)) ) {
                alt6=1;
            }
            else if ( (LA6_0==RULE_INT||LA6_0==26||(LA6_0>=28 && LA6_0<=29)) ) {
                alt6=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("850:1: (this_Accion_0= ruleAccion | this_Filtro_1= ruleFiltro )", 6, 0, input);

                throw nvae;
            }
            switch (alt6) {
                case 1 :
                    // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:851:5: this_Accion_0= ruleAccion
                    {
                     
                            currentNode=createCompositeNode(grammarAccess.getReglaAccess().getAccionParserRuleCall_0(), currentNode); 
                        
                    pushFollow(FOLLOW_ruleAccion_in_ruleRegla1447);
                    this_Accion_0=ruleAccion();
                    _fsp--;

                     
                            current = this_Accion_0; 
                            currentNode = currentNode.getParent();
                        

                    }
                    break;
                case 2 :
                    // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:861:5: this_Filtro_1= ruleFiltro
                    {
                     
                            currentNode=createCompositeNode(grammarAccess.getReglaAccess().getFiltroParserRuleCall_1(), currentNode); 
                        
                    pushFollow(FOLLOW_ruleFiltro_in_ruleRegla1474);
                    this_Filtro_1=ruleFiltro();
                    _fsp--;

                     
                            current = this_Filtro_1; 
                            currentNode = currentNode.getParent();
                        

                    }
                    break;

            }


            }

             resetLookahead(); 
                	lastConsumedNode = currentNode;
                
        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end ruleRegla


    // $ANTLR start entryRuleAccion
    // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:877:1: entryRuleAccion returns [EObject current=null] : iv_ruleAccion= ruleAccion EOF ;
    public final EObject entryRuleAccion() throws RecognitionException {
        EObject current = null;

        EObject iv_ruleAccion = null;


        try {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:878:2: (iv_ruleAccion= ruleAccion EOF )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:879:2: iv_ruleAccion= ruleAccion EOF
            {
             currentNode = createCompositeNode(grammarAccess.getAccionRule(), currentNode); 
            pushFollow(FOLLOW_ruleAccion_in_entryRuleAccion1509);
            iv_ruleAccion=ruleAccion();
            _fsp--;

             current =iv_ruleAccion; 
            match(input,EOF,FOLLOW_EOF_in_entryRuleAccion1519); 

            }

        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end entryRuleAccion


    // $ANTLR start ruleAccion
    // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:886:1: ruleAccion returns [EObject current=null] : (this_EnabledPuerto_0= ruleEnabledPuerto | this_EnabledIP_1= ruleEnabledIP | this_Logguear_2= ruleLogguear | this_Redireccionar_3= ruleRedireccionar | this_EnabledRange_4= ruleEnabledRange | this_EnabledHigh_5= ruleEnabledHigh | this_EnabledLess_6= ruleEnabledLess ) ;
    public final EObject ruleAccion() throws RecognitionException {
        EObject current = null;

        EObject this_EnabledPuerto_0 = null;

        EObject this_EnabledIP_1 = null;

        EObject this_Logguear_2 = null;

        EObject this_Redireccionar_3 = null;

        EObject this_EnabledRange_4 = null;

        EObject this_EnabledHigh_5 = null;

        EObject this_EnabledLess_6 = null;


         EObject temp=null; setCurrentLookahead(); resetLookahead(); 
            
        try {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:891:6: ( (this_EnabledPuerto_0= ruleEnabledPuerto | this_EnabledIP_1= ruleEnabledIP | this_Logguear_2= ruleLogguear | this_Redireccionar_3= ruleRedireccionar | this_EnabledRange_4= ruleEnabledRange | this_EnabledHigh_5= ruleEnabledHigh | this_EnabledLess_6= ruleEnabledLess ) )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:892:1: (this_EnabledPuerto_0= ruleEnabledPuerto | this_EnabledIP_1= ruleEnabledIP | this_Logguear_2= ruleLogguear | this_Redireccionar_3= ruleRedireccionar | this_EnabledRange_4= ruleEnabledRange | this_EnabledHigh_5= ruleEnabledHigh | this_EnabledLess_6= ruleEnabledLess )
            {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:892:1: (this_EnabledPuerto_0= ruleEnabledPuerto | this_EnabledIP_1= ruleEnabledIP | this_Logguear_2= ruleLogguear | this_Redireccionar_3= ruleRedireccionar | this_EnabledRange_4= ruleEnabledRange | this_EnabledHigh_5= ruleEnabledHigh | this_EnabledLess_6= ruleEnabledLess )
            int alt7=7;
            switch ( input.LA(1) ) {
            case 19:
                {
                alt7=1;
                }
                break;
            case 20:
                {
                alt7=2;
                }
                break;
            case 25:
                {
                alt7=3;
                }
                break;
            case 24:
                {
                alt7=4;
                }
                break;
            case 21:
                {
                alt7=5;
                }
                break;
            case 22:
                {
                alt7=6;
                }
                break;
            case 23:
                {
                alt7=7;
                }
                break;
            default:
                NoViableAltException nvae =
                    new NoViableAltException("892:1: (this_EnabledPuerto_0= ruleEnabledPuerto | this_EnabledIP_1= ruleEnabledIP | this_Logguear_2= ruleLogguear | this_Redireccionar_3= ruleRedireccionar | this_EnabledRange_4= ruleEnabledRange | this_EnabledHigh_5= ruleEnabledHigh | this_EnabledLess_6= ruleEnabledLess )", 7, 0, input);

                throw nvae;
            }

            switch (alt7) {
                case 1 :
                    // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:893:5: this_EnabledPuerto_0= ruleEnabledPuerto
                    {
                     
                            currentNode=createCompositeNode(grammarAccess.getAccionAccess().getEnabledPuertoParserRuleCall_0(), currentNode); 
                        
                    pushFollow(FOLLOW_ruleEnabledPuerto_in_ruleAccion1566);
                    this_EnabledPuerto_0=ruleEnabledPuerto();
                    _fsp--;

                     
                            current = this_EnabledPuerto_0; 
                            currentNode = currentNode.getParent();
                        

                    }
                    break;
                case 2 :
                    // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:903:5: this_EnabledIP_1= ruleEnabledIP
                    {
                     
                            currentNode=createCompositeNode(grammarAccess.getAccionAccess().getEnabledIPParserRuleCall_1(), currentNode); 
                        
                    pushFollow(FOLLOW_ruleEnabledIP_in_ruleAccion1593);
                    this_EnabledIP_1=ruleEnabledIP();
                    _fsp--;

                     
                            current = this_EnabledIP_1; 
                            currentNode = currentNode.getParent();
                        

                    }
                    break;
                case 3 :
                    // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:913:5: this_Logguear_2= ruleLogguear
                    {
                     
                            currentNode=createCompositeNode(grammarAccess.getAccionAccess().getLogguearParserRuleCall_2(), currentNode); 
                        
                    pushFollow(FOLLOW_ruleLogguear_in_ruleAccion1620);
                    this_Logguear_2=ruleLogguear();
                    _fsp--;

                     
                            current = this_Logguear_2; 
                            currentNode = currentNode.getParent();
                        

                    }
                    break;
                case 4 :
                    // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:923:5: this_Redireccionar_3= ruleRedireccionar
                    {
                     
                            currentNode=createCompositeNode(grammarAccess.getAccionAccess().getRedireccionarParserRuleCall_3(), currentNode); 
                        
                    pushFollow(FOLLOW_ruleRedireccionar_in_ruleAccion1647);
                    this_Redireccionar_3=ruleRedireccionar();
                    _fsp--;

                     
                            current = this_Redireccionar_3; 
                            currentNode = currentNode.getParent();
                        

                    }
                    break;
                case 5 :
                    // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:933:5: this_EnabledRange_4= ruleEnabledRange
                    {
                     
                            currentNode=createCompositeNode(grammarAccess.getAccionAccess().getEnabledRangeParserRuleCall_4(), currentNode); 
                        
                    pushFollow(FOLLOW_ruleEnabledRange_in_ruleAccion1674);
                    this_EnabledRange_4=ruleEnabledRange();
                    _fsp--;

                     
                            current = this_EnabledRange_4; 
                            currentNode = currentNode.getParent();
                        

                    }
                    break;
                case 6 :
                    // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:943:5: this_EnabledHigh_5= ruleEnabledHigh
                    {
                     
                            currentNode=createCompositeNode(grammarAccess.getAccionAccess().getEnabledHighParserRuleCall_5(), currentNode); 
                        
                    pushFollow(FOLLOW_ruleEnabledHigh_in_ruleAccion1701);
                    this_EnabledHigh_5=ruleEnabledHigh();
                    _fsp--;

                     
                            current = this_EnabledHigh_5; 
                            currentNode = currentNode.getParent();
                        

                    }
                    break;
                case 7 :
                    // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:953:5: this_EnabledLess_6= ruleEnabledLess
                    {
                     
                            currentNode=createCompositeNode(grammarAccess.getAccionAccess().getEnabledLessParserRuleCall_6(), currentNode); 
                        
                    pushFollow(FOLLOW_ruleEnabledLess_in_ruleAccion1728);
                    this_EnabledLess_6=ruleEnabledLess();
                    _fsp--;

                     
                            current = this_EnabledLess_6; 
                            currentNode = currentNode.getParent();
                        

                    }
                    break;

            }


            }

             resetLookahead(); 
                	lastConsumedNode = currentNode;
                
        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end ruleAccion


    // $ANTLR start entryRuleMensaje
    // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:969:1: entryRuleMensaje returns [EObject current=null] : iv_ruleMensaje= ruleMensaje EOF ;
    public final EObject entryRuleMensaje() throws RecognitionException {
        EObject current = null;

        EObject iv_ruleMensaje = null;


        try {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:970:2: (iv_ruleMensaje= ruleMensaje EOF )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:971:2: iv_ruleMensaje= ruleMensaje EOF
            {
             currentNode = createCompositeNode(grammarAccess.getMensajeRule(), currentNode); 
            pushFollow(FOLLOW_ruleMensaje_in_entryRuleMensaje1763);
            iv_ruleMensaje=ruleMensaje();
            _fsp--;

             current =iv_ruleMensaje; 
            match(input,EOF,FOLLOW_EOF_in_entryRuleMensaje1773); 

            }

        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end entryRuleMensaje


    // $ANTLR start ruleMensaje
    // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:978:1: ruleMensaje returns [EObject current=null] : ( 'msg' ( (lv_msg_1_0= RULE_ID ) ) ) ;
    public final EObject ruleMensaje() throws RecognitionException {
        EObject current = null;

        Token lv_msg_1_0=null;

         EObject temp=null; setCurrentLookahead(); resetLookahead(); 
            
        try {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:983:6: ( ( 'msg' ( (lv_msg_1_0= RULE_ID ) ) ) )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:984:1: ( 'msg' ( (lv_msg_1_0= RULE_ID ) ) )
            {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:984:1: ( 'msg' ( (lv_msg_1_0= RULE_ID ) ) )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:984:3: 'msg' ( (lv_msg_1_0= RULE_ID ) )
            {
            match(input,18,FOLLOW_18_in_ruleMensaje1808); 

                    createLeafNode(grammarAccess.getMensajeAccess().getMsgKeyword_0(), null); 
                
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:988:1: ( (lv_msg_1_0= RULE_ID ) )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:989:1: (lv_msg_1_0= RULE_ID )
            {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:989:1: (lv_msg_1_0= RULE_ID )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:990:3: lv_msg_1_0= RULE_ID
            {
            lv_msg_1_0=(Token)input.LT(1);
            match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleMensaje1825); 

            			createLeafNode(grammarAccess.getMensajeAccess().getMsgIDTerminalRuleCall_1_0(), "msg"); 
            		

            	        if (current==null) {
            	            current = factory.create(grammarAccess.getMensajeRule().getType().getClassifier());
            	            associateNodeWithAstElement(currentNode, current);
            	        }
            	        try {
            	       		set(
            	       			current, 
            	       			"msg",
            	        		lv_msg_1_0, 
            	        		"ID", 
            	        		lastConsumedNode);
            	        } catch (ValueConverterException vce) {
            				handleValueConverterException(vce);
            	        }
            	    

            }


            }


            }


            }

             resetLookahead(); 
                	lastConsumedNode = currentNode;
                
        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end ruleMensaje


    // $ANTLR start entryRuleEnabledPuerto
    // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1020:1: entryRuleEnabledPuerto returns [EObject current=null] : iv_ruleEnabledPuerto= ruleEnabledPuerto EOF ;
    public final EObject entryRuleEnabledPuerto() throws RecognitionException {
        EObject current = null;

        EObject iv_ruleEnabledPuerto = null;


        try {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1021:2: (iv_ruleEnabledPuerto= ruleEnabledPuerto EOF )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1022:2: iv_ruleEnabledPuerto= ruleEnabledPuerto EOF
            {
             currentNode = createCompositeNode(grammarAccess.getEnabledPuertoRule(), currentNode); 
            pushFollow(FOLLOW_ruleEnabledPuerto_in_entryRuleEnabledPuerto1866);
            iv_ruleEnabledPuerto=ruleEnabledPuerto();
            _fsp--;

             current =iv_ruleEnabledPuerto; 
            match(input,EOF,FOLLOW_EOF_in_entryRuleEnabledPuerto1876); 

            }

        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end entryRuleEnabledPuerto


    // $ANTLR start ruleEnabledPuerto
    // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1029:1: ruleEnabledPuerto returns [EObject current=null] : ( 'enabledPort' ( (lv_bool_1_0= ruleBoolean ) ) ( (lv_puerto_2_0= rulePuerto ) )* ( (lv_mensaje_3_0= ruleMensaje ) )? ) ;
    public final EObject ruleEnabledPuerto() throws RecognitionException {
        EObject current = null;

        EObject lv_bool_1_0 = null;

        EObject lv_puerto_2_0 = null;

        EObject lv_mensaje_3_0 = null;


         EObject temp=null; setCurrentLookahead(); resetLookahead(); 
            
        try {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1034:6: ( ( 'enabledPort' ( (lv_bool_1_0= ruleBoolean ) ) ( (lv_puerto_2_0= rulePuerto ) )* ( (lv_mensaje_3_0= ruleMensaje ) )? ) )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1035:1: ( 'enabledPort' ( (lv_bool_1_0= ruleBoolean ) ) ( (lv_puerto_2_0= rulePuerto ) )* ( (lv_mensaje_3_0= ruleMensaje ) )? )
            {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1035:1: ( 'enabledPort' ( (lv_bool_1_0= ruleBoolean ) ) ( (lv_puerto_2_0= rulePuerto ) )* ( (lv_mensaje_3_0= ruleMensaje ) )? )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1035:3: 'enabledPort' ( (lv_bool_1_0= ruleBoolean ) ) ( (lv_puerto_2_0= rulePuerto ) )* ( (lv_mensaje_3_0= ruleMensaje ) )?
            {
            match(input,19,FOLLOW_19_in_ruleEnabledPuerto1911); 

                    createLeafNode(grammarAccess.getEnabledPuertoAccess().getEnabledPortKeyword_0(), null); 
                
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1039:1: ( (lv_bool_1_0= ruleBoolean ) )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1040:1: (lv_bool_1_0= ruleBoolean )
            {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1040:1: (lv_bool_1_0= ruleBoolean )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1041:3: lv_bool_1_0= ruleBoolean
            {
             
            	        currentNode=createCompositeNode(grammarAccess.getEnabledPuertoAccess().getBoolBooleanParserRuleCall_1_0(), currentNode); 
            	    
            pushFollow(FOLLOW_ruleBoolean_in_ruleEnabledPuerto1932);
            lv_bool_1_0=ruleBoolean();
            _fsp--;


            	        if (current==null) {
            	            current = factory.create(grammarAccess.getEnabledPuertoRule().getType().getClassifier());
            	            associateNodeWithAstElement(currentNode.getParent(), current);
            	        }
            	        try {
            	       		set(
            	       			current, 
            	       			"bool",
            	        		lv_bool_1_0, 
            	        		"Boolean", 
            	        		currentNode);
            	        } catch (ValueConverterException vce) {
            				handleValueConverterException(vce);
            	        }
            	        currentNode = currentNode.getParent();
            	    

            }


            }

            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1063:2: ( (lv_puerto_2_0= rulePuerto ) )*
            loop8:
            do {
                int alt8=2;
                int LA8_0 = input.LA(1);

                if ( (LA8_0==13) ) {
                    alt8=1;
                }


                switch (alt8) {
            	case 1 :
            	    // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1064:1: (lv_puerto_2_0= rulePuerto )
            	    {
            	    // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1064:1: (lv_puerto_2_0= rulePuerto )
            	    // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1065:3: lv_puerto_2_0= rulePuerto
            	    {
            	     
            	    	        currentNode=createCompositeNode(grammarAccess.getEnabledPuertoAccess().getPuertoPuertoParserRuleCall_2_0(), currentNode); 
            	    	    
            	    pushFollow(FOLLOW_rulePuerto_in_ruleEnabledPuerto1953);
            	    lv_puerto_2_0=rulePuerto();
            	    _fsp--;


            	    	        if (current==null) {
            	    	            current = factory.create(grammarAccess.getEnabledPuertoRule().getType().getClassifier());
            	    	            associateNodeWithAstElement(currentNode.getParent(), current);
            	    	        }
            	    	        try {
            	    	       		add(
            	    	       			current, 
            	    	       			"puerto",
            	    	        		lv_puerto_2_0, 
            	    	        		"Puerto", 
            	    	        		currentNode);
            	    	        } catch (ValueConverterException vce) {
            	    				handleValueConverterException(vce);
            	    	        }
            	    	        currentNode = currentNode.getParent();
            	    	    

            	    }


            	    }
            	    break;

            	default :
            	    break loop8;
                }
            } while (true);

            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1087:3: ( (lv_mensaje_3_0= ruleMensaje ) )?
            int alt9=2;
            int LA9_0 = input.LA(1);

            if ( (LA9_0==18) ) {
                alt9=1;
            }
            switch (alt9) {
                case 1 :
                    // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1088:1: (lv_mensaje_3_0= ruleMensaje )
                    {
                    // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1088:1: (lv_mensaje_3_0= ruleMensaje )
                    // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1089:3: lv_mensaje_3_0= ruleMensaje
                    {
                     
                    	        currentNode=createCompositeNode(grammarAccess.getEnabledPuertoAccess().getMensajeMensajeParserRuleCall_3_0(), currentNode); 
                    	    
                    pushFollow(FOLLOW_ruleMensaje_in_ruleEnabledPuerto1975);
                    lv_mensaje_3_0=ruleMensaje();
                    _fsp--;


                    	        if (current==null) {
                    	            current = factory.create(grammarAccess.getEnabledPuertoRule().getType().getClassifier());
                    	            associateNodeWithAstElement(currentNode.getParent(), current);
                    	        }
                    	        try {
                    	       		set(
                    	       			current, 
                    	       			"mensaje",
                    	        		lv_mensaje_3_0, 
                    	        		"Mensaje", 
                    	        		currentNode);
                    	        } catch (ValueConverterException vce) {
                    				handleValueConverterException(vce);
                    	        }
                    	        currentNode = currentNode.getParent();
                    	    

                    }


                    }
                    break;

            }


            }


            }

             resetLookahead(); 
                	lastConsumedNode = currentNode;
                
        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end ruleEnabledPuerto


    // $ANTLR start entryRuleEnabledIP
    // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1119:1: entryRuleEnabledIP returns [EObject current=null] : iv_ruleEnabledIP= ruleEnabledIP EOF ;
    public final EObject entryRuleEnabledIP() throws RecognitionException {
        EObject current = null;

        EObject iv_ruleEnabledIP = null;


        try {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1120:2: (iv_ruleEnabledIP= ruleEnabledIP EOF )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1121:2: iv_ruleEnabledIP= ruleEnabledIP EOF
            {
             currentNode = createCompositeNode(grammarAccess.getEnabledIPRule(), currentNode); 
            pushFollow(FOLLOW_ruleEnabledIP_in_entryRuleEnabledIP2012);
            iv_ruleEnabledIP=ruleEnabledIP();
            _fsp--;

             current =iv_ruleEnabledIP; 
            match(input,EOF,FOLLOW_EOF_in_entryRuleEnabledIP2022); 

            }

        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end entryRuleEnabledIP


    // $ANTLR start ruleEnabledIP
    // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1128:1: ruleEnabledIP returns [EObject current=null] : ( 'enabledIP' ( (lv_bool_1_0= ruleBoolean ) ) ( (lv_ip_2_0= ruleIP ) )* ( (lv_mensaje_3_0= ruleMensaje ) )? ) ;
    public final EObject ruleEnabledIP() throws RecognitionException {
        EObject current = null;

        EObject lv_bool_1_0 = null;

        EObject lv_ip_2_0 = null;

        EObject lv_mensaje_3_0 = null;


         EObject temp=null; setCurrentLookahead(); resetLookahead(); 
            
        try {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1133:6: ( ( 'enabledIP' ( (lv_bool_1_0= ruleBoolean ) ) ( (lv_ip_2_0= ruleIP ) )* ( (lv_mensaje_3_0= ruleMensaje ) )? ) )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1134:1: ( 'enabledIP' ( (lv_bool_1_0= ruleBoolean ) ) ( (lv_ip_2_0= ruleIP ) )* ( (lv_mensaje_3_0= ruleMensaje ) )? )
            {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1134:1: ( 'enabledIP' ( (lv_bool_1_0= ruleBoolean ) ) ( (lv_ip_2_0= ruleIP ) )* ( (lv_mensaje_3_0= ruleMensaje ) )? )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1134:3: 'enabledIP' ( (lv_bool_1_0= ruleBoolean ) ) ( (lv_ip_2_0= ruleIP ) )* ( (lv_mensaje_3_0= ruleMensaje ) )?
            {
            match(input,20,FOLLOW_20_in_ruleEnabledIP2057); 

                    createLeafNode(grammarAccess.getEnabledIPAccess().getEnabledIPKeyword_0(), null); 
                
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1138:1: ( (lv_bool_1_0= ruleBoolean ) )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1139:1: (lv_bool_1_0= ruleBoolean )
            {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1139:1: (lv_bool_1_0= ruleBoolean )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1140:3: lv_bool_1_0= ruleBoolean
            {
             
            	        currentNode=createCompositeNode(grammarAccess.getEnabledIPAccess().getBoolBooleanParserRuleCall_1_0(), currentNode); 
            	    
            pushFollow(FOLLOW_ruleBoolean_in_ruleEnabledIP2078);
            lv_bool_1_0=ruleBoolean();
            _fsp--;


            	        if (current==null) {
            	            current = factory.create(grammarAccess.getEnabledIPRule().getType().getClassifier());
            	            associateNodeWithAstElement(currentNode.getParent(), current);
            	        }
            	        try {
            	       		set(
            	       			current, 
            	       			"bool",
            	        		lv_bool_1_0, 
            	        		"Boolean", 
            	        		currentNode);
            	        } catch (ValueConverterException vce) {
            				handleValueConverterException(vce);
            	        }
            	        currentNode = currentNode.getParent();
            	    

            }


            }

            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1162:2: ( (lv_ip_2_0= ruleIP ) )*
            loop10:
            do {
                int alt10=2;
                int LA10_0 = input.LA(1);

                if ( (LA10_0==RULE_INT) ) {
                    int LA10_2 = input.LA(2);

                    if ( (LA10_2==12) ) {
                        int LA10_3 = input.LA(3);

                        if ( (LA10_3==RULE_INT) ) {
                            int LA10_4 = input.LA(4);

                            if ( (LA10_4==12) ) {
                                int LA10_5 = input.LA(5);

                                if ( (LA10_5==RULE_INT) ) {
                                    int LA10_6 = input.LA(6);

                                    if ( (LA10_6==12) ) {
                                        int LA10_7 = input.LA(7);

                                        if ( (LA10_7==RULE_INT) ) {
                                            int LA10_8 = input.LA(8);

                                            if ( (LA10_8==13) ) {
                                                int LA10_9 = input.LA(9);

                                                if ( (LA10_9==RULE_INT) ) {
                                                    int LA10_11 = input.LA(10);

                                                    if ( (LA10_11==EOF||LA10_11==RULE_INT||LA10_11==11||(LA10_11>=18 && LA10_11<=26)||(LA10_11>=28 && LA10_11<=29)) ) {
                                                        alt10=1;
                                                    }


                                                }


                                            }
                                            else if ( (LA10_8==EOF||LA10_8==RULE_INT||LA10_8==11||(LA10_8>=18 && LA10_8<=26)||(LA10_8>=28 && LA10_8<=29)) ) {
                                                alt10=1;
                                            }


                                        }


                                    }


                                }


                            }


                        }


                    }


                }


                switch (alt10) {
            	case 1 :
            	    // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1163:1: (lv_ip_2_0= ruleIP )
            	    {
            	    // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1163:1: (lv_ip_2_0= ruleIP )
            	    // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1164:3: lv_ip_2_0= ruleIP
            	    {
            	     
            	    	        currentNode=createCompositeNode(grammarAccess.getEnabledIPAccess().getIpIPParserRuleCall_2_0(), currentNode); 
            	    	    
            	    pushFollow(FOLLOW_ruleIP_in_ruleEnabledIP2099);
            	    lv_ip_2_0=ruleIP();
            	    _fsp--;


            	    	        if (current==null) {
            	    	            current = factory.create(grammarAccess.getEnabledIPRule().getType().getClassifier());
            	    	            associateNodeWithAstElement(currentNode.getParent(), current);
            	    	        }
            	    	        try {
            	    	       		add(
            	    	       			current, 
            	    	       			"ip",
            	    	        		lv_ip_2_0, 
            	    	        		"IP", 
            	    	        		currentNode);
            	    	        } catch (ValueConverterException vce) {
            	    				handleValueConverterException(vce);
            	    	        }
            	    	        currentNode = currentNode.getParent();
            	    	    

            	    }


            	    }
            	    break;

            	default :
            	    break loop10;
                }
            } while (true);

            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1186:3: ( (lv_mensaje_3_0= ruleMensaje ) )?
            int alt11=2;
            int LA11_0 = input.LA(1);

            if ( (LA11_0==18) ) {
                alt11=1;
            }
            switch (alt11) {
                case 1 :
                    // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1187:1: (lv_mensaje_3_0= ruleMensaje )
                    {
                    // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1187:1: (lv_mensaje_3_0= ruleMensaje )
                    // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1188:3: lv_mensaje_3_0= ruleMensaje
                    {
                     
                    	        currentNode=createCompositeNode(grammarAccess.getEnabledIPAccess().getMensajeMensajeParserRuleCall_3_0(), currentNode); 
                    	    
                    pushFollow(FOLLOW_ruleMensaje_in_ruleEnabledIP2121);
                    lv_mensaje_3_0=ruleMensaje();
                    _fsp--;


                    	        if (current==null) {
                    	            current = factory.create(grammarAccess.getEnabledIPRule().getType().getClassifier());
                    	            associateNodeWithAstElement(currentNode.getParent(), current);
                    	        }
                    	        try {
                    	       		set(
                    	       			current, 
                    	       			"mensaje",
                    	        		lv_mensaje_3_0, 
                    	        		"Mensaje", 
                    	        		currentNode);
                    	        } catch (ValueConverterException vce) {
                    				handleValueConverterException(vce);
                    	        }
                    	        currentNode = currentNode.getParent();
                    	    

                    }


                    }
                    break;

            }


            }


            }

             resetLookahead(); 
                	lastConsumedNode = currentNode;
                
        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end ruleEnabledIP


    // $ANTLR start entryRuleEnabledRange
    // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1218:1: entryRuleEnabledRange returns [EObject current=null] : iv_ruleEnabledRange= ruleEnabledRange EOF ;
    public final EObject entryRuleEnabledRange() throws RecognitionException {
        EObject current = null;

        EObject iv_ruleEnabledRange = null;


        try {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1219:2: (iv_ruleEnabledRange= ruleEnabledRange EOF )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1220:2: iv_ruleEnabledRange= ruleEnabledRange EOF
            {
             currentNode = createCompositeNode(grammarAccess.getEnabledRangeRule(), currentNode); 
            pushFollow(FOLLOW_ruleEnabledRange_in_entryRuleEnabledRange2158);
            iv_ruleEnabledRange=ruleEnabledRange();
            _fsp--;

             current =iv_ruleEnabledRange; 
            match(input,EOF,FOLLOW_EOF_in_entryRuleEnabledRange2168); 

            }

        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end entryRuleEnabledRange


    // $ANTLR start ruleEnabledRange
    // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1227:1: ruleEnabledRange returns [EObject current=null] : ( 'enabledRange' ( (lv_bool_1_0= ruleBoolean ) ) ( (lv_rango_2_0= ruleRango ) ) ) ;
    public final EObject ruleEnabledRange() throws RecognitionException {
        EObject current = null;

        EObject lv_bool_1_0 = null;

        EObject lv_rango_2_0 = null;


         EObject temp=null; setCurrentLookahead(); resetLookahead(); 
            
        try {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1232:6: ( ( 'enabledRange' ( (lv_bool_1_0= ruleBoolean ) ) ( (lv_rango_2_0= ruleRango ) ) ) )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1233:1: ( 'enabledRange' ( (lv_bool_1_0= ruleBoolean ) ) ( (lv_rango_2_0= ruleRango ) ) )
            {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1233:1: ( 'enabledRange' ( (lv_bool_1_0= ruleBoolean ) ) ( (lv_rango_2_0= ruleRango ) ) )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1233:3: 'enabledRange' ( (lv_bool_1_0= ruleBoolean ) ) ( (lv_rango_2_0= ruleRango ) )
            {
            match(input,21,FOLLOW_21_in_ruleEnabledRange2203); 

                    createLeafNode(grammarAccess.getEnabledRangeAccess().getEnabledRangeKeyword_0(), null); 
                
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1237:1: ( (lv_bool_1_0= ruleBoolean ) )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1238:1: (lv_bool_1_0= ruleBoolean )
            {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1238:1: (lv_bool_1_0= ruleBoolean )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1239:3: lv_bool_1_0= ruleBoolean
            {
             
            	        currentNode=createCompositeNode(grammarAccess.getEnabledRangeAccess().getBoolBooleanParserRuleCall_1_0(), currentNode); 
            	    
            pushFollow(FOLLOW_ruleBoolean_in_ruleEnabledRange2224);
            lv_bool_1_0=ruleBoolean();
            _fsp--;


            	        if (current==null) {
            	            current = factory.create(grammarAccess.getEnabledRangeRule().getType().getClassifier());
            	            associateNodeWithAstElement(currentNode.getParent(), current);
            	        }
            	        try {
            	       		set(
            	       			current, 
            	       			"bool",
            	        		lv_bool_1_0, 
            	        		"Boolean", 
            	        		currentNode);
            	        } catch (ValueConverterException vce) {
            				handleValueConverterException(vce);
            	        }
            	        currentNode = currentNode.getParent();
            	    

            }


            }

            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1261:2: ( (lv_rango_2_0= ruleRango ) )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1262:1: (lv_rango_2_0= ruleRango )
            {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1262:1: (lv_rango_2_0= ruleRango )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1263:3: lv_rango_2_0= ruleRango
            {
             
            	        currentNode=createCompositeNode(grammarAccess.getEnabledRangeAccess().getRangoRangoParserRuleCall_2_0(), currentNode); 
            	    
            pushFollow(FOLLOW_ruleRango_in_ruleEnabledRange2245);
            lv_rango_2_0=ruleRango();
            _fsp--;


            	        if (current==null) {
            	            current = factory.create(grammarAccess.getEnabledRangeRule().getType().getClassifier());
            	            associateNodeWithAstElement(currentNode.getParent(), current);
            	        }
            	        try {
            	       		set(
            	       			current, 
            	       			"rango",
            	        		lv_rango_2_0, 
            	        		"Rango", 
            	        		currentNode);
            	        } catch (ValueConverterException vce) {
            				handleValueConverterException(vce);
            	        }
            	        currentNode = currentNode.getParent();
            	    

            }


            }


            }


            }

             resetLookahead(); 
                	lastConsumedNode = currentNode;
                
        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end ruleEnabledRange


    // $ANTLR start entryRuleEnabledHigh
    // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1293:1: entryRuleEnabledHigh returns [EObject current=null] : iv_ruleEnabledHigh= ruleEnabledHigh EOF ;
    public final EObject entryRuleEnabledHigh() throws RecognitionException {
        EObject current = null;

        EObject iv_ruleEnabledHigh = null;


        try {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1294:2: (iv_ruleEnabledHigh= ruleEnabledHigh EOF )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1295:2: iv_ruleEnabledHigh= ruleEnabledHigh EOF
            {
             currentNode = createCompositeNode(grammarAccess.getEnabledHighRule(), currentNode); 
            pushFollow(FOLLOW_ruleEnabledHigh_in_entryRuleEnabledHigh2281);
            iv_ruleEnabledHigh=ruleEnabledHigh();
            _fsp--;

             current =iv_ruleEnabledHigh; 
            match(input,EOF,FOLLOW_EOF_in_entryRuleEnabledHigh2291); 

            }

        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end entryRuleEnabledHigh


    // $ANTLR start ruleEnabledHigh
    // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1302:1: ruleEnabledHigh returns [EObject current=null] : ( 'enabledHigh' ( (lv_bool_1_0= ruleBoolean ) ) ( (lv_mayor_2_0= ruleMayor ) ) ) ;
    public final EObject ruleEnabledHigh() throws RecognitionException {
        EObject current = null;

        EObject lv_bool_1_0 = null;

        EObject lv_mayor_2_0 = null;


         EObject temp=null; setCurrentLookahead(); resetLookahead(); 
            
        try {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1307:6: ( ( 'enabledHigh' ( (lv_bool_1_0= ruleBoolean ) ) ( (lv_mayor_2_0= ruleMayor ) ) ) )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1308:1: ( 'enabledHigh' ( (lv_bool_1_0= ruleBoolean ) ) ( (lv_mayor_2_0= ruleMayor ) ) )
            {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1308:1: ( 'enabledHigh' ( (lv_bool_1_0= ruleBoolean ) ) ( (lv_mayor_2_0= ruleMayor ) ) )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1308:3: 'enabledHigh' ( (lv_bool_1_0= ruleBoolean ) ) ( (lv_mayor_2_0= ruleMayor ) )
            {
            match(input,22,FOLLOW_22_in_ruleEnabledHigh2326); 

                    createLeafNode(grammarAccess.getEnabledHighAccess().getEnabledHighKeyword_0(), null); 
                
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1312:1: ( (lv_bool_1_0= ruleBoolean ) )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1313:1: (lv_bool_1_0= ruleBoolean )
            {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1313:1: (lv_bool_1_0= ruleBoolean )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1314:3: lv_bool_1_0= ruleBoolean
            {
             
            	        currentNode=createCompositeNode(grammarAccess.getEnabledHighAccess().getBoolBooleanParserRuleCall_1_0(), currentNode); 
            	    
            pushFollow(FOLLOW_ruleBoolean_in_ruleEnabledHigh2347);
            lv_bool_1_0=ruleBoolean();
            _fsp--;


            	        if (current==null) {
            	            current = factory.create(grammarAccess.getEnabledHighRule().getType().getClassifier());
            	            associateNodeWithAstElement(currentNode.getParent(), current);
            	        }
            	        try {
            	       		set(
            	       			current, 
            	       			"bool",
            	        		lv_bool_1_0, 
            	        		"Boolean", 
            	        		currentNode);
            	        } catch (ValueConverterException vce) {
            				handleValueConverterException(vce);
            	        }
            	        currentNode = currentNode.getParent();
            	    

            }


            }

            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1336:2: ( (lv_mayor_2_0= ruleMayor ) )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1337:1: (lv_mayor_2_0= ruleMayor )
            {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1337:1: (lv_mayor_2_0= ruleMayor )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1338:3: lv_mayor_2_0= ruleMayor
            {
             
            	        currentNode=createCompositeNode(grammarAccess.getEnabledHighAccess().getMayorMayorParserRuleCall_2_0(), currentNode); 
            	    
            pushFollow(FOLLOW_ruleMayor_in_ruleEnabledHigh2368);
            lv_mayor_2_0=ruleMayor();
            _fsp--;


            	        if (current==null) {
            	            current = factory.create(grammarAccess.getEnabledHighRule().getType().getClassifier());
            	            associateNodeWithAstElement(currentNode.getParent(), current);
            	        }
            	        try {
            	       		set(
            	       			current, 
            	       			"mayor",
            	        		lv_mayor_2_0, 
            	        		"Mayor", 
            	        		currentNode);
            	        } catch (ValueConverterException vce) {
            				handleValueConverterException(vce);
            	        }
            	        currentNode = currentNode.getParent();
            	    

            }


            }


            }


            }

             resetLookahead(); 
                	lastConsumedNode = currentNode;
                
        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end ruleEnabledHigh


    // $ANTLR start entryRuleEnabledLess
    // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1368:1: entryRuleEnabledLess returns [EObject current=null] : iv_ruleEnabledLess= ruleEnabledLess EOF ;
    public final EObject entryRuleEnabledLess() throws RecognitionException {
        EObject current = null;

        EObject iv_ruleEnabledLess = null;


        try {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1369:2: (iv_ruleEnabledLess= ruleEnabledLess EOF )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1370:2: iv_ruleEnabledLess= ruleEnabledLess EOF
            {
             currentNode = createCompositeNode(grammarAccess.getEnabledLessRule(), currentNode); 
            pushFollow(FOLLOW_ruleEnabledLess_in_entryRuleEnabledLess2404);
            iv_ruleEnabledLess=ruleEnabledLess();
            _fsp--;

             current =iv_ruleEnabledLess; 
            match(input,EOF,FOLLOW_EOF_in_entryRuleEnabledLess2414); 

            }

        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end entryRuleEnabledLess


    // $ANTLR start ruleEnabledLess
    // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1377:1: ruleEnabledLess returns [EObject current=null] : ( 'enabledLess' ( (lv_bool_1_0= ruleBoolean ) ) ( (lv_menor_2_0= ruleMenor ) ) ) ;
    public final EObject ruleEnabledLess() throws RecognitionException {
        EObject current = null;

        EObject lv_bool_1_0 = null;

        EObject lv_menor_2_0 = null;


         EObject temp=null; setCurrentLookahead(); resetLookahead(); 
            
        try {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1382:6: ( ( 'enabledLess' ( (lv_bool_1_0= ruleBoolean ) ) ( (lv_menor_2_0= ruleMenor ) ) ) )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1383:1: ( 'enabledLess' ( (lv_bool_1_0= ruleBoolean ) ) ( (lv_menor_2_0= ruleMenor ) ) )
            {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1383:1: ( 'enabledLess' ( (lv_bool_1_0= ruleBoolean ) ) ( (lv_menor_2_0= ruleMenor ) ) )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1383:3: 'enabledLess' ( (lv_bool_1_0= ruleBoolean ) ) ( (lv_menor_2_0= ruleMenor ) )
            {
            match(input,23,FOLLOW_23_in_ruleEnabledLess2449); 

                    createLeafNode(grammarAccess.getEnabledLessAccess().getEnabledLessKeyword_0(), null); 
                
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1387:1: ( (lv_bool_1_0= ruleBoolean ) )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1388:1: (lv_bool_1_0= ruleBoolean )
            {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1388:1: (lv_bool_1_0= ruleBoolean )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1389:3: lv_bool_1_0= ruleBoolean
            {
             
            	        currentNode=createCompositeNode(grammarAccess.getEnabledLessAccess().getBoolBooleanParserRuleCall_1_0(), currentNode); 
            	    
            pushFollow(FOLLOW_ruleBoolean_in_ruleEnabledLess2470);
            lv_bool_1_0=ruleBoolean();
            _fsp--;


            	        if (current==null) {
            	            current = factory.create(grammarAccess.getEnabledLessRule().getType().getClassifier());
            	            associateNodeWithAstElement(currentNode.getParent(), current);
            	        }
            	        try {
            	       		set(
            	       			current, 
            	       			"bool",
            	        		lv_bool_1_0, 
            	        		"Boolean", 
            	        		currentNode);
            	        } catch (ValueConverterException vce) {
            				handleValueConverterException(vce);
            	        }
            	        currentNode = currentNode.getParent();
            	    

            }


            }

            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1411:2: ( (lv_menor_2_0= ruleMenor ) )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1412:1: (lv_menor_2_0= ruleMenor )
            {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1412:1: (lv_menor_2_0= ruleMenor )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1413:3: lv_menor_2_0= ruleMenor
            {
             
            	        currentNode=createCompositeNode(grammarAccess.getEnabledLessAccess().getMenorMenorParserRuleCall_2_0(), currentNode); 
            	    
            pushFollow(FOLLOW_ruleMenor_in_ruleEnabledLess2491);
            lv_menor_2_0=ruleMenor();
            _fsp--;


            	        if (current==null) {
            	            current = factory.create(grammarAccess.getEnabledLessRule().getType().getClassifier());
            	            associateNodeWithAstElement(currentNode.getParent(), current);
            	        }
            	        try {
            	       		set(
            	       			current, 
            	       			"menor",
            	        		lv_menor_2_0, 
            	        		"Menor", 
            	        		currentNode);
            	        } catch (ValueConverterException vce) {
            				handleValueConverterException(vce);
            	        }
            	        currentNode = currentNode.getParent();
            	    

            }


            }


            }


            }

             resetLookahead(); 
                	lastConsumedNode = currentNode;
                
        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end ruleEnabledLess


    // $ANTLR start entryRuleRedireccionar
    // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1443:1: entryRuleRedireccionar returns [EObject current=null] : iv_ruleRedireccionar= ruleRedireccionar EOF ;
    public final EObject entryRuleRedireccionar() throws RecognitionException {
        EObject current = null;

        EObject iv_ruleRedireccionar = null;


        try {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1444:2: (iv_ruleRedireccionar= ruleRedireccionar EOF )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1445:2: iv_ruleRedireccionar= ruleRedireccionar EOF
            {
             currentNode = createCompositeNode(grammarAccess.getRedireccionarRule(), currentNode); 
            pushFollow(FOLLOW_ruleRedireccionar_in_entryRuleRedireccionar2527);
            iv_ruleRedireccionar=ruleRedireccionar();
            _fsp--;

             current =iv_ruleRedireccionar; 
            match(input,EOF,FOLLOW_EOF_in_entryRuleRedireccionar2537); 

            }

        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end entryRuleRedireccionar


    // $ANTLR start ruleRedireccionar
    // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1452:1: ruleRedireccionar returns [EObject current=null] : ( 'foward' ( (lv_dest1_1_0= ruleDestino ) ) ( (lv_dest2_2_0= ruleDestino ) ) ) ;
    public final EObject ruleRedireccionar() throws RecognitionException {
        EObject current = null;

        EObject lv_dest1_1_0 = null;

        EObject lv_dest2_2_0 = null;


         EObject temp=null; setCurrentLookahead(); resetLookahead(); 
            
        try {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1457:6: ( ( 'foward' ( (lv_dest1_1_0= ruleDestino ) ) ( (lv_dest2_2_0= ruleDestino ) ) ) )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1458:1: ( 'foward' ( (lv_dest1_1_0= ruleDestino ) ) ( (lv_dest2_2_0= ruleDestino ) ) )
            {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1458:1: ( 'foward' ( (lv_dest1_1_0= ruleDestino ) ) ( (lv_dest2_2_0= ruleDestino ) ) )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1458:3: 'foward' ( (lv_dest1_1_0= ruleDestino ) ) ( (lv_dest2_2_0= ruleDestino ) )
            {
            match(input,24,FOLLOW_24_in_ruleRedireccionar2572); 

                    createLeafNode(grammarAccess.getRedireccionarAccess().getFowardKeyword_0(), null); 
                
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1462:1: ( (lv_dest1_1_0= ruleDestino ) )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1463:1: (lv_dest1_1_0= ruleDestino )
            {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1463:1: (lv_dest1_1_0= ruleDestino )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1464:3: lv_dest1_1_0= ruleDestino
            {
             
            	        currentNode=createCompositeNode(grammarAccess.getRedireccionarAccess().getDest1DestinoParserRuleCall_1_0(), currentNode); 
            	    
            pushFollow(FOLLOW_ruleDestino_in_ruleRedireccionar2593);
            lv_dest1_1_0=ruleDestino();
            _fsp--;


            	        if (current==null) {
            	            current = factory.create(grammarAccess.getRedireccionarRule().getType().getClassifier());
            	            associateNodeWithAstElement(currentNode.getParent(), current);
            	        }
            	        try {
            	       		set(
            	       			current, 
            	       			"dest1",
            	        		lv_dest1_1_0, 
            	        		"Destino", 
            	        		currentNode);
            	        } catch (ValueConverterException vce) {
            				handleValueConverterException(vce);
            	        }
            	        currentNode = currentNode.getParent();
            	    

            }


            }

            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1486:2: ( (lv_dest2_2_0= ruleDestino ) )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1487:1: (lv_dest2_2_0= ruleDestino )
            {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1487:1: (lv_dest2_2_0= ruleDestino )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1488:3: lv_dest2_2_0= ruleDestino
            {
             
            	        currentNode=createCompositeNode(grammarAccess.getRedireccionarAccess().getDest2DestinoParserRuleCall_2_0(), currentNode); 
            	    
            pushFollow(FOLLOW_ruleDestino_in_ruleRedireccionar2614);
            lv_dest2_2_0=ruleDestino();
            _fsp--;


            	        if (current==null) {
            	            current = factory.create(grammarAccess.getRedireccionarRule().getType().getClassifier());
            	            associateNodeWithAstElement(currentNode.getParent(), current);
            	        }
            	        try {
            	       		set(
            	       			current, 
            	       			"dest2",
            	        		lv_dest2_2_0, 
            	        		"Destino", 
            	        		currentNode);
            	        } catch (ValueConverterException vce) {
            				handleValueConverterException(vce);
            	        }
            	        currentNode = currentNode.getParent();
            	    

            }


            }


            }


            }

             resetLookahead(); 
                	lastConsumedNode = currentNode;
                
        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end ruleRedireccionar


    // $ANTLR start entryRuleLogguear
    // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1518:1: entryRuleLogguear returns [EObject current=null] : iv_ruleLogguear= ruleLogguear EOF ;
    public final EObject entryRuleLogguear() throws RecognitionException {
        EObject current = null;

        EObject iv_ruleLogguear = null;


        try {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1519:2: (iv_ruleLogguear= ruleLogguear EOF )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1520:2: iv_ruleLogguear= ruleLogguear EOF
            {
             currentNode = createCompositeNode(grammarAccess.getLogguearRule(), currentNode); 
            pushFollow(FOLLOW_ruleLogguear_in_entryRuleLogguear2650);
            iv_ruleLogguear=ruleLogguear();
            _fsp--;

             current =iv_ruleLogguear; 
            match(input,EOF,FOLLOW_EOF_in_entryRuleLogguear2660); 

            }

        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end entryRuleLogguear


    // $ANTLR start ruleLogguear
    // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1527:1: ruleLogguear returns [EObject current=null] : ( 'log' ( (lv_puerto_1_0= rulePuerto ) ) ) ;
    public final EObject ruleLogguear() throws RecognitionException {
        EObject current = null;

        EObject lv_puerto_1_0 = null;


         EObject temp=null; setCurrentLookahead(); resetLookahead(); 
            
        try {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1532:6: ( ( 'log' ( (lv_puerto_1_0= rulePuerto ) ) ) )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1533:1: ( 'log' ( (lv_puerto_1_0= rulePuerto ) ) )
            {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1533:1: ( 'log' ( (lv_puerto_1_0= rulePuerto ) ) )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1533:3: 'log' ( (lv_puerto_1_0= rulePuerto ) )
            {
            match(input,25,FOLLOW_25_in_ruleLogguear2695); 

                    createLeafNode(grammarAccess.getLogguearAccess().getLogKeyword_0(), null); 
                
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1537:1: ( (lv_puerto_1_0= rulePuerto ) )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1538:1: (lv_puerto_1_0= rulePuerto )
            {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1538:1: (lv_puerto_1_0= rulePuerto )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1539:3: lv_puerto_1_0= rulePuerto
            {
             
            	        currentNode=createCompositeNode(grammarAccess.getLogguearAccess().getPuertoPuertoParserRuleCall_1_0(), currentNode); 
            	    
            pushFollow(FOLLOW_rulePuerto_in_ruleLogguear2716);
            lv_puerto_1_0=rulePuerto();
            _fsp--;


            	        if (current==null) {
            	            current = factory.create(grammarAccess.getLogguearRule().getType().getClassifier());
            	            associateNodeWithAstElement(currentNode.getParent(), current);
            	        }
            	        try {
            	       		set(
            	       			current, 
            	       			"puerto",
            	        		lv_puerto_1_0, 
            	        		"Puerto", 
            	        		currentNode);
            	        } catch (ValueConverterException vce) {
            				handleValueConverterException(vce);
            	        }
            	        currentNode = currentNode.getParent();
            	    

            }


            }


            }


            }

             resetLookahead(); 
                	lastConsumedNode = currentNode;
                
        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end ruleLogguear


    // $ANTLR start entryRuleFiltro
    // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1569:1: entryRuleFiltro returns [EObject current=null] : iv_ruleFiltro= ruleFiltro EOF ;
    public final EObject entryRuleFiltro() throws RecognitionException {
        EObject current = null;

        EObject iv_ruleFiltro = null;


        try {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1570:2: (iv_ruleFiltro= ruleFiltro EOF )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1571:2: iv_ruleFiltro= ruleFiltro EOF
            {
             currentNode = createCompositeNode(grammarAccess.getFiltroRule(), currentNode); 
            pushFollow(FOLLOW_ruleFiltro_in_entryRuleFiltro2752);
            iv_ruleFiltro=ruleFiltro();
            _fsp--;

             current =iv_ruleFiltro; 
            match(input,EOF,FOLLOW_EOF_in_entryRuleFiltro2762); 

            }

        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end entryRuleFiltro


    // $ANTLR start ruleFiltro
    // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1578:1: ruleFiltro returns [EObject current=null] : (this_DenegarUnaIP_0= ruleDenegarUnaIP | this_IPNoAceptaIp_1= ruleIPNoAceptaIp | this_RangoNoaceptaIp_2= ruleRangoNoaceptaIp | this_SoloAceptaSubred_3= ruleSoloAceptaSubred ) ;
    public final EObject ruleFiltro() throws RecognitionException {
        EObject current = null;

        EObject this_DenegarUnaIP_0 = null;

        EObject this_IPNoAceptaIp_1 = null;

        EObject this_RangoNoaceptaIp_2 = null;

        EObject this_SoloAceptaSubred_3 = null;


         EObject temp=null; setCurrentLookahead(); resetLookahead(); 
            
        try {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1583:6: ( (this_DenegarUnaIP_0= ruleDenegarUnaIP | this_IPNoAceptaIp_1= ruleIPNoAceptaIp | this_RangoNoaceptaIp_2= ruleRangoNoaceptaIp | this_SoloAceptaSubred_3= ruleSoloAceptaSubred ) )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1584:1: (this_DenegarUnaIP_0= ruleDenegarUnaIP | this_IPNoAceptaIp_1= ruleIPNoAceptaIp | this_RangoNoaceptaIp_2= ruleRangoNoaceptaIp | this_SoloAceptaSubred_3= ruleSoloAceptaSubred )
            {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1584:1: (this_DenegarUnaIP_0= ruleDenegarUnaIP | this_IPNoAceptaIp_1= ruleIPNoAceptaIp | this_RangoNoaceptaIp_2= ruleRangoNoaceptaIp | this_SoloAceptaSubred_3= ruleSoloAceptaSubred )
            int alt12=4;
            switch ( input.LA(1) ) {
            case 26:
                {
                alt12=1;
                }
                break;
            case RULE_INT:
                {
                alt12=2;
                }
                break;
            case 28:
                {
                alt12=3;
                }
                break;
            case 29:
                {
                alt12=4;
                }
                break;
            default:
                NoViableAltException nvae =
                    new NoViableAltException("1584:1: (this_DenegarUnaIP_0= ruleDenegarUnaIP | this_IPNoAceptaIp_1= ruleIPNoAceptaIp | this_RangoNoaceptaIp_2= ruleRangoNoaceptaIp | this_SoloAceptaSubred_3= ruleSoloAceptaSubred )", 12, 0, input);

                throw nvae;
            }

            switch (alt12) {
                case 1 :
                    // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1585:5: this_DenegarUnaIP_0= ruleDenegarUnaIP
                    {
                     
                            currentNode=createCompositeNode(grammarAccess.getFiltroAccess().getDenegarUnaIPParserRuleCall_0(), currentNode); 
                        
                    pushFollow(FOLLOW_ruleDenegarUnaIP_in_ruleFiltro2809);
                    this_DenegarUnaIP_0=ruleDenegarUnaIP();
                    _fsp--;

                     
                            current = this_DenegarUnaIP_0; 
                            currentNode = currentNode.getParent();
                        

                    }
                    break;
                case 2 :
                    // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1595:5: this_IPNoAceptaIp_1= ruleIPNoAceptaIp
                    {
                     
                            currentNode=createCompositeNode(grammarAccess.getFiltroAccess().getIPNoAceptaIpParserRuleCall_1(), currentNode); 
                        
                    pushFollow(FOLLOW_ruleIPNoAceptaIp_in_ruleFiltro2836);
                    this_IPNoAceptaIp_1=ruleIPNoAceptaIp();
                    _fsp--;

                     
                            current = this_IPNoAceptaIp_1; 
                            currentNode = currentNode.getParent();
                        

                    }
                    break;
                case 3 :
                    // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1605:5: this_RangoNoaceptaIp_2= ruleRangoNoaceptaIp
                    {
                     
                            currentNode=createCompositeNode(grammarAccess.getFiltroAccess().getRangoNoaceptaIpParserRuleCall_2(), currentNode); 
                        
                    pushFollow(FOLLOW_ruleRangoNoaceptaIp_in_ruleFiltro2863);
                    this_RangoNoaceptaIp_2=ruleRangoNoaceptaIp();
                    _fsp--;

                     
                            current = this_RangoNoaceptaIp_2; 
                            currentNode = currentNode.getParent();
                        

                    }
                    break;
                case 4 :
                    // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1615:5: this_SoloAceptaSubred_3= ruleSoloAceptaSubred
                    {
                     
                            currentNode=createCompositeNode(grammarAccess.getFiltroAccess().getSoloAceptaSubredParserRuleCall_3(), currentNode); 
                        
                    pushFollow(FOLLOW_ruleSoloAceptaSubred_in_ruleFiltro2890);
                    this_SoloAceptaSubred_3=ruleSoloAceptaSubred();
                    _fsp--;

                     
                            current = this_SoloAceptaSubred_3; 
                            currentNode = currentNode.getParent();
                        

                    }
                    break;

            }


            }

             resetLookahead(); 
                	lastConsumedNode = currentNode;
                
        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end ruleFiltro


    // $ANTLR start entryRuleDenegarUnaIP
    // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1631:1: entryRuleDenegarUnaIP returns [EObject current=null] : iv_ruleDenegarUnaIP= ruleDenegarUnaIP EOF ;
    public final EObject entryRuleDenegarUnaIP() throws RecognitionException {
        EObject current = null;

        EObject iv_ruleDenegarUnaIP = null;


        try {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1632:2: (iv_ruleDenegarUnaIP= ruleDenegarUnaIP EOF )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1633:2: iv_ruleDenegarUnaIP= ruleDenegarUnaIP EOF
            {
             currentNode = createCompositeNode(grammarAccess.getDenegarUnaIPRule(), currentNode); 
            pushFollow(FOLLOW_ruleDenegarUnaIP_in_entryRuleDenegarUnaIP2925);
            iv_ruleDenegarUnaIP=ruleDenegarUnaIP();
            _fsp--;

             current =iv_ruleDenegarUnaIP; 
            match(input,EOF,FOLLOW_EOF_in_entryRuleDenegarUnaIP2935); 

            }

        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end entryRuleDenegarUnaIP


    // $ANTLR start ruleDenegarUnaIP
    // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1640:1: ruleDenegarUnaIP returns [EObject current=null] : ( 'denegate' ( (lv_ip_1_0= ruleIP ) ) ) ;
    public final EObject ruleDenegarUnaIP() throws RecognitionException {
        EObject current = null;

        EObject lv_ip_1_0 = null;


         EObject temp=null; setCurrentLookahead(); resetLookahead(); 
            
        try {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1645:6: ( ( 'denegate' ( (lv_ip_1_0= ruleIP ) ) ) )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1646:1: ( 'denegate' ( (lv_ip_1_0= ruleIP ) ) )
            {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1646:1: ( 'denegate' ( (lv_ip_1_0= ruleIP ) ) )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1646:3: 'denegate' ( (lv_ip_1_0= ruleIP ) )
            {
            match(input,26,FOLLOW_26_in_ruleDenegarUnaIP2970); 

                    createLeafNode(grammarAccess.getDenegarUnaIPAccess().getDenegateKeyword_0(), null); 
                
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1650:1: ( (lv_ip_1_0= ruleIP ) )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1651:1: (lv_ip_1_0= ruleIP )
            {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1651:1: (lv_ip_1_0= ruleIP )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1652:3: lv_ip_1_0= ruleIP
            {
             
            	        currentNode=createCompositeNode(grammarAccess.getDenegarUnaIPAccess().getIpIPParserRuleCall_1_0(), currentNode); 
            	    
            pushFollow(FOLLOW_ruleIP_in_ruleDenegarUnaIP2991);
            lv_ip_1_0=ruleIP();
            _fsp--;


            	        if (current==null) {
            	            current = factory.create(grammarAccess.getDenegarUnaIPRule().getType().getClassifier());
            	            associateNodeWithAstElement(currentNode.getParent(), current);
            	        }
            	        try {
            	       		set(
            	       			current, 
            	       			"ip",
            	        		lv_ip_1_0, 
            	        		"IP", 
            	        		currentNode);
            	        } catch (ValueConverterException vce) {
            				handleValueConverterException(vce);
            	        }
            	        currentNode = currentNode.getParent();
            	    

            }


            }


            }


            }

             resetLookahead(); 
                	lastConsumedNode = currentNode;
                
        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end ruleDenegarUnaIP


    // $ANTLR start entryRuleIPNoAceptaIp
    // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1682:1: entryRuleIPNoAceptaIp returns [EObject current=null] : iv_ruleIPNoAceptaIp= ruleIPNoAceptaIp EOF ;
    public final EObject entryRuleIPNoAceptaIp() throws RecognitionException {
        EObject current = null;

        EObject iv_ruleIPNoAceptaIp = null;


        try {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1683:2: (iv_ruleIPNoAceptaIp= ruleIPNoAceptaIp EOF )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1684:2: iv_ruleIPNoAceptaIp= ruleIPNoAceptaIp EOF
            {
             currentNode = createCompositeNode(grammarAccess.getIPNoAceptaIpRule(), currentNode); 
            pushFollow(FOLLOW_ruleIPNoAceptaIp_in_entryRuleIPNoAceptaIp3027);
            iv_ruleIPNoAceptaIp=ruleIPNoAceptaIp();
            _fsp--;

             current =iv_ruleIPNoAceptaIp; 
            match(input,EOF,FOLLOW_EOF_in_entryRuleIPNoAceptaIp3037); 

            }

        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end entryRuleIPNoAceptaIp


    // $ANTLR start ruleIPNoAceptaIp
    // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1691:1: ruleIPNoAceptaIp returns [EObject current=null] : ( ( (lv_ip1_0_0= ruleIP ) ) 'noAcept' ( (lv_ip2_2_0= ruleIP ) ) ) ;
    public final EObject ruleIPNoAceptaIp() throws RecognitionException {
        EObject current = null;

        EObject lv_ip1_0_0 = null;

        EObject lv_ip2_2_0 = null;


         EObject temp=null; setCurrentLookahead(); resetLookahead(); 
            
        try {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1696:6: ( ( ( (lv_ip1_0_0= ruleIP ) ) 'noAcept' ( (lv_ip2_2_0= ruleIP ) ) ) )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1697:1: ( ( (lv_ip1_0_0= ruleIP ) ) 'noAcept' ( (lv_ip2_2_0= ruleIP ) ) )
            {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1697:1: ( ( (lv_ip1_0_0= ruleIP ) ) 'noAcept' ( (lv_ip2_2_0= ruleIP ) ) )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1697:2: ( (lv_ip1_0_0= ruleIP ) ) 'noAcept' ( (lv_ip2_2_0= ruleIP ) )
            {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1697:2: ( (lv_ip1_0_0= ruleIP ) )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1698:1: (lv_ip1_0_0= ruleIP )
            {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1698:1: (lv_ip1_0_0= ruleIP )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1699:3: lv_ip1_0_0= ruleIP
            {
             
            	        currentNode=createCompositeNode(grammarAccess.getIPNoAceptaIpAccess().getIp1IPParserRuleCall_0_0(), currentNode); 
            	    
            pushFollow(FOLLOW_ruleIP_in_ruleIPNoAceptaIp3083);
            lv_ip1_0_0=ruleIP();
            _fsp--;


            	        if (current==null) {
            	            current = factory.create(grammarAccess.getIPNoAceptaIpRule().getType().getClassifier());
            	            associateNodeWithAstElement(currentNode.getParent(), current);
            	        }
            	        try {
            	       		set(
            	       			current, 
            	       			"ip1",
            	        		lv_ip1_0_0, 
            	        		"IP", 
            	        		currentNode);
            	        } catch (ValueConverterException vce) {
            				handleValueConverterException(vce);
            	        }
            	        currentNode = currentNode.getParent();
            	    

            }


            }

            match(input,27,FOLLOW_27_in_ruleIPNoAceptaIp3093); 

                    createLeafNode(grammarAccess.getIPNoAceptaIpAccess().getNoAceptKeyword_1(), null); 
                
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1725:1: ( (lv_ip2_2_0= ruleIP ) )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1726:1: (lv_ip2_2_0= ruleIP )
            {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1726:1: (lv_ip2_2_0= ruleIP )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1727:3: lv_ip2_2_0= ruleIP
            {
             
            	        currentNode=createCompositeNode(grammarAccess.getIPNoAceptaIpAccess().getIp2IPParserRuleCall_2_0(), currentNode); 
            	    
            pushFollow(FOLLOW_ruleIP_in_ruleIPNoAceptaIp3114);
            lv_ip2_2_0=ruleIP();
            _fsp--;


            	        if (current==null) {
            	            current = factory.create(grammarAccess.getIPNoAceptaIpRule().getType().getClassifier());
            	            associateNodeWithAstElement(currentNode.getParent(), current);
            	        }
            	        try {
            	       		set(
            	       			current, 
            	       			"ip2",
            	        		lv_ip2_2_0, 
            	        		"IP", 
            	        		currentNode);
            	        } catch (ValueConverterException vce) {
            				handleValueConverterException(vce);
            	        }
            	        currentNode = currentNode.getParent();
            	    

            }


            }


            }


            }

             resetLookahead(); 
                	lastConsumedNode = currentNode;
                
        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end ruleIPNoAceptaIp


    // $ANTLR start entryRuleRangoNoaceptaIp
    // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1757:1: entryRuleRangoNoaceptaIp returns [EObject current=null] : iv_ruleRangoNoaceptaIp= ruleRangoNoaceptaIp EOF ;
    public final EObject entryRuleRangoNoaceptaIp() throws RecognitionException {
        EObject current = null;

        EObject iv_ruleRangoNoaceptaIp = null;


        try {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1758:2: (iv_ruleRangoNoaceptaIp= ruleRangoNoaceptaIp EOF )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1759:2: iv_ruleRangoNoaceptaIp= ruleRangoNoaceptaIp EOF
            {
             currentNode = createCompositeNode(grammarAccess.getRangoNoaceptaIpRule(), currentNode); 
            pushFollow(FOLLOW_ruleRangoNoaceptaIp_in_entryRuleRangoNoaceptaIp3150);
            iv_ruleRangoNoaceptaIp=ruleRangoNoaceptaIp();
            _fsp--;

             current =iv_ruleRangoNoaceptaIp; 
            match(input,EOF,FOLLOW_EOF_in_entryRuleRangoNoaceptaIp3160); 

            }

        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end entryRuleRangoNoaceptaIp


    // $ANTLR start ruleRangoNoaceptaIp
    // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1766:1: ruleRangoNoaceptaIp returns [EObject current=null] : ( 'rangeNoAcept' ( (lv_rango_1_0= ruleRango ) ) ( (lv_ip_2_0= ruleIP ) ) ) ;
    public final EObject ruleRangoNoaceptaIp() throws RecognitionException {
        EObject current = null;

        EObject lv_rango_1_0 = null;

        EObject lv_ip_2_0 = null;


         EObject temp=null; setCurrentLookahead(); resetLookahead(); 
            
        try {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1771:6: ( ( 'rangeNoAcept' ( (lv_rango_1_0= ruleRango ) ) ( (lv_ip_2_0= ruleIP ) ) ) )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1772:1: ( 'rangeNoAcept' ( (lv_rango_1_0= ruleRango ) ) ( (lv_ip_2_0= ruleIP ) ) )
            {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1772:1: ( 'rangeNoAcept' ( (lv_rango_1_0= ruleRango ) ) ( (lv_ip_2_0= ruleIP ) ) )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1772:3: 'rangeNoAcept' ( (lv_rango_1_0= ruleRango ) ) ( (lv_ip_2_0= ruleIP ) )
            {
            match(input,28,FOLLOW_28_in_ruleRangoNoaceptaIp3195); 

                    createLeafNode(grammarAccess.getRangoNoaceptaIpAccess().getRangeNoAceptKeyword_0(), null); 
                
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1776:1: ( (lv_rango_1_0= ruleRango ) )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1777:1: (lv_rango_1_0= ruleRango )
            {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1777:1: (lv_rango_1_0= ruleRango )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1778:3: lv_rango_1_0= ruleRango
            {
             
            	        currentNode=createCompositeNode(grammarAccess.getRangoNoaceptaIpAccess().getRangoRangoParserRuleCall_1_0(), currentNode); 
            	    
            pushFollow(FOLLOW_ruleRango_in_ruleRangoNoaceptaIp3216);
            lv_rango_1_0=ruleRango();
            _fsp--;


            	        if (current==null) {
            	            current = factory.create(grammarAccess.getRangoNoaceptaIpRule().getType().getClassifier());
            	            associateNodeWithAstElement(currentNode.getParent(), current);
            	        }
            	        try {
            	       		set(
            	       			current, 
            	       			"rango",
            	        		lv_rango_1_0, 
            	        		"Rango", 
            	        		currentNode);
            	        } catch (ValueConverterException vce) {
            				handleValueConverterException(vce);
            	        }
            	        currentNode = currentNode.getParent();
            	    

            }


            }

            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1800:2: ( (lv_ip_2_0= ruleIP ) )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1801:1: (lv_ip_2_0= ruleIP )
            {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1801:1: (lv_ip_2_0= ruleIP )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1802:3: lv_ip_2_0= ruleIP
            {
             
            	        currentNode=createCompositeNode(grammarAccess.getRangoNoaceptaIpAccess().getIpIPParserRuleCall_2_0(), currentNode); 
            	    
            pushFollow(FOLLOW_ruleIP_in_ruleRangoNoaceptaIp3237);
            lv_ip_2_0=ruleIP();
            _fsp--;


            	        if (current==null) {
            	            current = factory.create(grammarAccess.getRangoNoaceptaIpRule().getType().getClassifier());
            	            associateNodeWithAstElement(currentNode.getParent(), current);
            	        }
            	        try {
            	       		set(
            	       			current, 
            	       			"ip",
            	        		lv_ip_2_0, 
            	        		"IP", 
            	        		currentNode);
            	        } catch (ValueConverterException vce) {
            				handleValueConverterException(vce);
            	        }
            	        currentNode = currentNode.getParent();
            	    

            }


            }


            }


            }

             resetLookahead(); 
                	lastConsumedNode = currentNode;
                
        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end ruleRangoNoaceptaIp


    // $ANTLR start entryRuleSoloAceptaSubred
    // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1832:1: entryRuleSoloAceptaSubred returns [EObject current=null] : iv_ruleSoloAceptaSubred= ruleSoloAceptaSubred EOF ;
    public final EObject entryRuleSoloAceptaSubred() throws RecognitionException {
        EObject current = null;

        EObject iv_ruleSoloAceptaSubred = null;


        try {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1833:2: (iv_ruleSoloAceptaSubred= ruleSoloAceptaSubred EOF )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1834:2: iv_ruleSoloAceptaSubred= ruleSoloAceptaSubred EOF
            {
             currentNode = createCompositeNode(grammarAccess.getSoloAceptaSubredRule(), currentNode); 
            pushFollow(FOLLOW_ruleSoloAceptaSubred_in_entryRuleSoloAceptaSubred3273);
            iv_ruleSoloAceptaSubred=ruleSoloAceptaSubred();
            _fsp--;

             current =iv_ruleSoloAceptaSubred; 
            match(input,EOF,FOLLOW_EOF_in_entryRuleSoloAceptaSubred3283); 

            }

        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end entryRuleSoloAceptaSubred


    // $ANTLR start ruleSoloAceptaSubred
    // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1841:1: ruleSoloAceptaSubred returns [EObject current=null] : ( 'onlyAccept' ( (lv_ip_1_0= ruleIP ) ) ( (lv_subred_2_0= ruleSubred ) ) ) ;
    public final EObject ruleSoloAceptaSubred() throws RecognitionException {
        EObject current = null;

        EObject lv_ip_1_0 = null;

        EObject lv_subred_2_0 = null;


         EObject temp=null; setCurrentLookahead(); resetLookahead(); 
            
        try {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1846:6: ( ( 'onlyAccept' ( (lv_ip_1_0= ruleIP ) ) ( (lv_subred_2_0= ruleSubred ) ) ) )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1847:1: ( 'onlyAccept' ( (lv_ip_1_0= ruleIP ) ) ( (lv_subred_2_0= ruleSubred ) ) )
            {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1847:1: ( 'onlyAccept' ( (lv_ip_1_0= ruleIP ) ) ( (lv_subred_2_0= ruleSubred ) ) )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1847:3: 'onlyAccept' ( (lv_ip_1_0= ruleIP ) ) ( (lv_subred_2_0= ruleSubred ) )
            {
            match(input,29,FOLLOW_29_in_ruleSoloAceptaSubred3318); 

                    createLeafNode(grammarAccess.getSoloAceptaSubredAccess().getOnlyAcceptKeyword_0(), null); 
                
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1851:1: ( (lv_ip_1_0= ruleIP ) )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1852:1: (lv_ip_1_0= ruleIP )
            {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1852:1: (lv_ip_1_0= ruleIP )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1853:3: lv_ip_1_0= ruleIP
            {
             
            	        currentNode=createCompositeNode(grammarAccess.getSoloAceptaSubredAccess().getIpIPParserRuleCall_1_0(), currentNode); 
            	    
            pushFollow(FOLLOW_ruleIP_in_ruleSoloAceptaSubred3339);
            lv_ip_1_0=ruleIP();
            _fsp--;


            	        if (current==null) {
            	            current = factory.create(grammarAccess.getSoloAceptaSubredRule().getType().getClassifier());
            	            associateNodeWithAstElement(currentNode.getParent(), current);
            	        }
            	        try {
            	       		set(
            	       			current, 
            	       			"ip",
            	        		lv_ip_1_0, 
            	        		"IP", 
            	        		currentNode);
            	        } catch (ValueConverterException vce) {
            				handleValueConverterException(vce);
            	        }
            	        currentNode = currentNode.getParent();
            	    

            }


            }

            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1875:2: ( (lv_subred_2_0= ruleSubred ) )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1876:1: (lv_subred_2_0= ruleSubred )
            {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1876:1: (lv_subred_2_0= ruleSubred )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1877:3: lv_subred_2_0= ruleSubred
            {
             
            	        currentNode=createCompositeNode(grammarAccess.getSoloAceptaSubredAccess().getSubredSubredParserRuleCall_2_0(), currentNode); 
            	    
            pushFollow(FOLLOW_ruleSubred_in_ruleSoloAceptaSubred3360);
            lv_subred_2_0=ruleSubred();
            _fsp--;


            	        if (current==null) {
            	            current = factory.create(grammarAccess.getSoloAceptaSubredRule().getType().getClassifier());
            	            associateNodeWithAstElement(currentNode.getParent(), current);
            	        }
            	        try {
            	       		set(
            	       			current, 
            	       			"subred",
            	        		lv_subred_2_0, 
            	        		"Subred", 
            	        		currentNode);
            	        } catch (ValueConverterException vce) {
            				handleValueConverterException(vce);
            	        }
            	        currentNode = currentNode.getParent();
            	    

            }


            }


            }


            }

             resetLookahead(); 
                	lastConsumedNode = currentNode;
                
        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end ruleSoloAceptaSubred


    // $ANTLR start entryRuleBoolean
    // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1907:1: entryRuleBoolean returns [EObject current=null] : iv_ruleBoolean= ruleBoolean EOF ;
    public final EObject entryRuleBoolean() throws RecognitionException {
        EObject current = null;

        EObject iv_ruleBoolean = null;


        try {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1908:2: (iv_ruleBoolean= ruleBoolean EOF )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1909:2: iv_ruleBoolean= ruleBoolean EOF
            {
             currentNode = createCompositeNode(grammarAccess.getBooleanRule(), currentNode); 
            pushFollow(FOLLOW_ruleBoolean_in_entryRuleBoolean3396);
            iv_ruleBoolean=ruleBoolean();
            _fsp--;

             current =iv_ruleBoolean; 
            match(input,EOF,FOLLOW_EOF_in_entryRuleBoolean3406); 

            }

        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end entryRuleBoolean


    // $ANTLR start ruleBoolean
    // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1916:1: ruleBoolean returns [EObject current=null] : (this_True_0= ruleTrue | this_False_1= ruleFalse ) ;
    public final EObject ruleBoolean() throws RecognitionException {
        EObject current = null;

        EObject this_True_0 = null;

        EObject this_False_1 = null;


         EObject temp=null; setCurrentLookahead(); resetLookahead(); 
            
        try {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1921:6: ( (this_True_0= ruleTrue | this_False_1= ruleFalse ) )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1922:1: (this_True_0= ruleTrue | this_False_1= ruleFalse )
            {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1922:1: (this_True_0= ruleTrue | this_False_1= ruleFalse )
            int alt13=2;
            int LA13_0 = input.LA(1);

            if ( (LA13_0==30) ) {
                alt13=1;
            }
            else if ( (LA13_0==31) ) {
                alt13=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("1922:1: (this_True_0= ruleTrue | this_False_1= ruleFalse )", 13, 0, input);

                throw nvae;
            }
            switch (alt13) {
                case 1 :
                    // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1923:5: this_True_0= ruleTrue
                    {
                     
                            currentNode=createCompositeNode(grammarAccess.getBooleanAccess().getTrueParserRuleCall_0(), currentNode); 
                        
                    pushFollow(FOLLOW_ruleTrue_in_ruleBoolean3453);
                    this_True_0=ruleTrue();
                    _fsp--;

                     
                            current = this_True_0; 
                            currentNode = currentNode.getParent();
                        

                    }
                    break;
                case 2 :
                    // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1933:5: this_False_1= ruleFalse
                    {
                     
                            currentNode=createCompositeNode(grammarAccess.getBooleanAccess().getFalseParserRuleCall_1(), currentNode); 
                        
                    pushFollow(FOLLOW_ruleFalse_in_ruleBoolean3480);
                    this_False_1=ruleFalse();
                    _fsp--;

                     
                            current = this_False_1; 
                            currentNode = currentNode.getParent();
                        

                    }
                    break;

            }


            }

             resetLookahead(); 
                	lastConsumedNode = currentNode;
                
        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end ruleBoolean


    // $ANTLR start entryRuleTrue
    // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1949:1: entryRuleTrue returns [EObject current=null] : iv_ruleTrue= ruleTrue EOF ;
    public final EObject entryRuleTrue() throws RecognitionException {
        EObject current = null;

        EObject iv_ruleTrue = null;


        try {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1950:2: (iv_ruleTrue= ruleTrue EOF )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1951:2: iv_ruleTrue= ruleTrue EOF
            {
             currentNode = createCompositeNode(grammarAccess.getTrueRule(), currentNode); 
            pushFollow(FOLLOW_ruleTrue_in_entryRuleTrue3515);
            iv_ruleTrue=ruleTrue();
            _fsp--;

             current =iv_ruleTrue; 
            match(input,EOF,FOLLOW_EOF_in_entryRuleTrue3525); 

            }

        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end entryRuleTrue


    // $ANTLR start ruleTrue
    // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1958:1: ruleTrue returns [EObject current=null] : ( () 'true' ) ;
    public final EObject ruleTrue() throws RecognitionException {
        EObject current = null;

         EObject temp=null; setCurrentLookahead(); resetLookahead(); 
            
        try {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1963:6: ( ( () 'true' ) )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1964:1: ( () 'true' )
            {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1964:1: ( () 'true' )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1964:2: () 'true'
            {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1964:2: ()
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1965:5: 
            {
             
                    temp=factory.create(grammarAccess.getTrueAccess().getTrueAction_0().getType().getClassifier());
                    current = temp; 
                    temp = null;
                    CompositeNode newNode = createCompositeNode(grammarAccess.getTrueAccess().getTrueAction_0(), currentNode.getParent());
                newNode.getChildren().add(currentNode);
                moveLookaheadInfo(currentNode, newNode);
                currentNode = newNode; 
                    associateNodeWithAstElement(currentNode, current); 
                

            }

            match(input,30,FOLLOW_30_in_ruleTrue3569); 

                    createLeafNode(grammarAccess.getTrueAccess().getTrueKeyword_1(), null); 
                

            }


            }

             resetLookahead(); 
                	lastConsumedNode = currentNode;
                
        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end ruleTrue


    // $ANTLR start entryRuleFalse
    // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1987:1: entryRuleFalse returns [EObject current=null] : iv_ruleFalse= ruleFalse EOF ;
    public final EObject entryRuleFalse() throws RecognitionException {
        EObject current = null;

        EObject iv_ruleFalse = null;


        try {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1988:2: (iv_ruleFalse= ruleFalse EOF )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1989:2: iv_ruleFalse= ruleFalse EOF
            {
             currentNode = createCompositeNode(grammarAccess.getFalseRule(), currentNode); 
            pushFollow(FOLLOW_ruleFalse_in_entryRuleFalse3605);
            iv_ruleFalse=ruleFalse();
            _fsp--;

             current =iv_ruleFalse; 
            match(input,EOF,FOLLOW_EOF_in_entryRuleFalse3615); 

            }

        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end entryRuleFalse


    // $ANTLR start ruleFalse
    // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:1996:1: ruleFalse returns [EObject current=null] : ( () 'false' ) ;
    public final EObject ruleFalse() throws RecognitionException {
        EObject current = null;

         EObject temp=null; setCurrentLookahead(); resetLookahead(); 
            
        try {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:2001:6: ( ( () 'false' ) )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:2002:1: ( () 'false' )
            {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:2002:1: ( () 'false' )
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:2002:2: () 'false'
            {
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:2002:2: ()
            // ../org.xtext.example/src-gen/org/xtext/example/mydsl/parser/antlr/internal/InternalMyDsl.g:2003:5: 
            {
             
                    temp=factory.create(grammarAccess.getFalseAccess().getFalseAction_0().getType().getClassifier());
                    current = temp; 
                    temp = null;
                    CompositeNode newNode = createCompositeNode(grammarAccess.getFalseAccess().getFalseAction_0(), currentNode.getParent());
                newNode.getChildren().add(currentNode);
                moveLookaheadInfo(currentNode, newNode);
                currentNode = newNode; 
                    associateNodeWithAstElement(currentNode, current); 
                

            }

            match(input,31,FOLLOW_31_in_ruleFalse3659); 

                    createLeafNode(grammarAccess.getFalseAccess().getFalseKeyword_1(), null); 
                

            }


            }

             resetLookahead(); 
                	lastConsumedNode = currentNode;
                
        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
    // $ANTLR end ruleFalse


 

    public static final BitSet FOLLOW_ruleModel_in_entryRuleModel75 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleModel85 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleConfiguration_in_ruleModel130 = new BitSet(new long[]{0x0000000000000802L});
    public static final BitSet FOLLOW_ruleConfiguration_in_entryRuleConfiguration166 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleConfiguration176 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_11_in_ruleConfiguration220 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_RULE_ID_in_ruleConfiguration237 = new BitSet(new long[]{0x0000000037F80022L});
    public static final BitSet FOLLOW_ruleRegla_in_ruleConfiguration263 = new BitSet(new long[]{0x0000000037F80022L});
    public static final BitSet FOLLOW_ruleDestino_in_entryRuleDestino300 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleDestino310 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleIP_in_ruleDestino357 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rulePuerto_in_ruleDestino384 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleIP_in_entryRuleIP419 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleIP429 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_INT_in_ruleIP471 = new BitSet(new long[]{0x0000000000001000L});
    public static final BitSet FOLLOW_12_in_ruleIP487 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_RULE_INT_in_ruleIP504 = new BitSet(new long[]{0x0000000000001000L});
    public static final BitSet FOLLOW_12_in_ruleIP520 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_RULE_INT_in_ruleIP537 = new BitSet(new long[]{0x0000000000001000L});
    public static final BitSet FOLLOW_12_in_ruleIP553 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_RULE_INT_in_ruleIP570 = new BitSet(new long[]{0x0000000000002002L});
    public static final BitSet FOLLOW_rulePuerto_in_ruleIP599 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_rulePuerto_in_entryRulePuerto636 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRulePuerto646 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_13_in_rulePuerto681 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_RULE_INT_in_rulePuerto698 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleCampoSubred_in_entryRuleCampoSubred739 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleCampoSubred749 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_INT_in_ruleCampoSubred791 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_14_in_ruleCampoSubred820 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleSubred_in_entryRuleSubred869 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleSubred879 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_RULE_INT_in_ruleSubred921 = new BitSet(new long[]{0x0000000000001000L});
    public static final BitSet FOLLOW_12_in_ruleSubred937 = new BitSet(new long[]{0x0000000000004020L});
    public static final BitSet FOLLOW_ruleCampoSubred_in_ruleSubred958 = new BitSet(new long[]{0x0000000000001000L});
    public static final BitSet FOLLOW_12_in_ruleSubred969 = new BitSet(new long[]{0x0000000000004020L});
    public static final BitSet FOLLOW_ruleCampoSubred_in_ruleSubred990 = new BitSet(new long[]{0x0000000000001000L});
    public static final BitSet FOLLOW_12_in_ruleSubred1001 = new BitSet(new long[]{0x0000000000004020L});
    public static final BitSet FOLLOW_ruleCampoSubred_in_ruleSubred1022 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleMayor_in_entryRuleMayor1061 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleMayor1071 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_15_in_ruleMayor1106 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_RULE_INT_in_ruleMayor1123 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleMenor_in_entryRuleMenor1164 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleMenor1174 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_16_in_ruleMenor1209 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_RULE_INT_in_ruleMenor1226 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleRango_in_entryRuleRango1267 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleRango1277 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_17_in_ruleRango1312 = new BitSet(new long[]{0x0000000000002020L});
    public static final BitSet FOLLOW_ruleDestino_in_ruleRango1333 = new BitSet(new long[]{0x0000000000002020L});
    public static final BitSet FOLLOW_ruleDestino_in_ruleRango1354 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleRegla_in_entryRuleRegla1390 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleRegla1400 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleAccion_in_ruleRegla1447 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleFiltro_in_ruleRegla1474 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleAccion_in_entryRuleAccion1509 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleAccion1519 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleEnabledPuerto_in_ruleAccion1566 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleEnabledIP_in_ruleAccion1593 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleLogguear_in_ruleAccion1620 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleRedireccionar_in_ruleAccion1647 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleEnabledRange_in_ruleAccion1674 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleEnabledHigh_in_ruleAccion1701 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleEnabledLess_in_ruleAccion1728 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleMensaje_in_entryRuleMensaje1763 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleMensaje1773 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_18_in_ruleMensaje1808 = new BitSet(new long[]{0x0000000000000010L});
    public static final BitSet FOLLOW_RULE_ID_in_ruleMensaje1825 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleEnabledPuerto_in_entryRuleEnabledPuerto1866 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleEnabledPuerto1876 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_19_in_ruleEnabledPuerto1911 = new BitSet(new long[]{0x00000000C0000000L});
    public static final BitSet FOLLOW_ruleBoolean_in_ruleEnabledPuerto1932 = new BitSet(new long[]{0x0000000000042002L});
    public static final BitSet FOLLOW_rulePuerto_in_ruleEnabledPuerto1953 = new BitSet(new long[]{0x0000000000042002L});
    public static final BitSet FOLLOW_ruleMensaje_in_ruleEnabledPuerto1975 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleEnabledIP_in_entryRuleEnabledIP2012 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleEnabledIP2022 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_20_in_ruleEnabledIP2057 = new BitSet(new long[]{0x00000000C0000000L});
    public static final BitSet FOLLOW_ruleBoolean_in_ruleEnabledIP2078 = new BitSet(new long[]{0x0000000000040022L});
    public static final BitSet FOLLOW_ruleIP_in_ruleEnabledIP2099 = new BitSet(new long[]{0x0000000000040022L});
    public static final BitSet FOLLOW_ruleMensaje_in_ruleEnabledIP2121 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleEnabledRange_in_entryRuleEnabledRange2158 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleEnabledRange2168 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_21_in_ruleEnabledRange2203 = new BitSet(new long[]{0x00000000C0000000L});
    public static final BitSet FOLLOW_ruleBoolean_in_ruleEnabledRange2224 = new BitSet(new long[]{0x0000000000020000L});
    public static final BitSet FOLLOW_ruleRango_in_ruleEnabledRange2245 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleEnabledHigh_in_entryRuleEnabledHigh2281 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleEnabledHigh2291 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_22_in_ruleEnabledHigh2326 = new BitSet(new long[]{0x00000000C0000000L});
    public static final BitSet FOLLOW_ruleBoolean_in_ruleEnabledHigh2347 = new BitSet(new long[]{0x0000000000008000L});
    public static final BitSet FOLLOW_ruleMayor_in_ruleEnabledHigh2368 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleEnabledLess_in_entryRuleEnabledLess2404 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleEnabledLess2414 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_23_in_ruleEnabledLess2449 = new BitSet(new long[]{0x00000000C0000000L});
    public static final BitSet FOLLOW_ruleBoolean_in_ruleEnabledLess2470 = new BitSet(new long[]{0x0000000000010000L});
    public static final BitSet FOLLOW_ruleMenor_in_ruleEnabledLess2491 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleRedireccionar_in_entryRuleRedireccionar2527 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleRedireccionar2537 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_24_in_ruleRedireccionar2572 = new BitSet(new long[]{0x0000000000002020L});
    public static final BitSet FOLLOW_ruleDestino_in_ruleRedireccionar2593 = new BitSet(new long[]{0x0000000000002020L});
    public static final BitSet FOLLOW_ruleDestino_in_ruleRedireccionar2614 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleLogguear_in_entryRuleLogguear2650 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleLogguear2660 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_25_in_ruleLogguear2695 = new BitSet(new long[]{0x0000000000002000L});
    public static final BitSet FOLLOW_rulePuerto_in_ruleLogguear2716 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleFiltro_in_entryRuleFiltro2752 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleFiltro2762 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleDenegarUnaIP_in_ruleFiltro2809 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleIPNoAceptaIp_in_ruleFiltro2836 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleRangoNoaceptaIp_in_ruleFiltro2863 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleSoloAceptaSubred_in_ruleFiltro2890 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleDenegarUnaIP_in_entryRuleDenegarUnaIP2925 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleDenegarUnaIP2935 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_26_in_ruleDenegarUnaIP2970 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_ruleIP_in_ruleDenegarUnaIP2991 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleIPNoAceptaIp_in_entryRuleIPNoAceptaIp3027 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleIPNoAceptaIp3037 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleIP_in_ruleIPNoAceptaIp3083 = new BitSet(new long[]{0x0000000008000000L});
    public static final BitSet FOLLOW_27_in_ruleIPNoAceptaIp3093 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_ruleIP_in_ruleIPNoAceptaIp3114 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleRangoNoaceptaIp_in_entryRuleRangoNoaceptaIp3150 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleRangoNoaceptaIp3160 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_28_in_ruleRangoNoaceptaIp3195 = new BitSet(new long[]{0x0000000000020000L});
    public static final BitSet FOLLOW_ruleRango_in_ruleRangoNoaceptaIp3216 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_ruleIP_in_ruleRangoNoaceptaIp3237 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleSoloAceptaSubred_in_entryRuleSoloAceptaSubred3273 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleSoloAceptaSubred3283 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_29_in_ruleSoloAceptaSubred3318 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_ruleIP_in_ruleSoloAceptaSubred3339 = new BitSet(new long[]{0x0000000000000020L});
    public static final BitSet FOLLOW_ruleSubred_in_ruleSoloAceptaSubred3360 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleBoolean_in_entryRuleBoolean3396 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleBoolean3406 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleTrue_in_ruleBoolean3453 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleFalse_in_ruleBoolean3480 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleTrue_in_entryRuleTrue3515 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleTrue3525 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_30_in_ruleTrue3569 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_ruleFalse_in_entryRuleFalse3605 = new BitSet(new long[]{0x0000000000000000L});
    public static final BitSet FOLLOW_EOF_in_entryRuleFalse3615 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_31_in_ruleFalse3659 = new BitSet(new long[]{0x0000000000000002L});

}